Data width is 128 bits but only LSB 32-bits are valid

Thank you for the suggestions. I have written this below .

module allign( input [127:0] axi_in_data,
                  input [15:0] in_strobe ,
                  output reg [15:0]out_strobe,
                  output reg [127:0] axi_out_data
                ) ;
  bit [7:0] temp [];
  typedef bit [31:0] a;
  bit [127:0] wdata;
  bit [127:0] wdata2;
  bit [31:0] wdata1;
  integer i,j;
  assign wdata = axi_in_data;
  assign axi_out_data = wdata2;
  assign out_strobe = 16'h000f;

  task automatic masking(bit [15:0] strobe);
    begin
    temp=new[4];
    j=0;
    for(i = 0; i<16; i=i+1) begin
      if(strobe[i]==1) begin
        temp[3-j] = wdata[8*i+:8];
        j=j+1;
      end
    end
    wdata1=a'(temp); // unpacked to packed array casting
    wdata2 = {96'h0,wdata1};
    end
  endtask

  always@(*) begin
    masking(in_strobe);
  end
 endmodule