<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div style="margin:0;">Hi, there</div><div style="margin:0;"><br></div><div style="margin:0;">I met some problem about sizeof operator. I am implementing a new backend.</div><div style="margin:0;">The backend has two kind of registers which have the same data format.</div><div style="margin:0;">so we designed the following two type, v16i32 and va16i32.</div><div style="margin:0;">--------------------------------------------------------------------------------------------</div><div style="margin:0;">typedef int __attribute__((__vector_size__(64), aligned(128))) v16i32;</div><div style="margin:0;">typedef int __attribute__((__vector_size__(16), aligned(128))) va4i32;</div><div style="margin:0;">typedef va4i32 va16i32;</div><div style="margin:0;">---------------------------------------------------------------------------------------------</div><div style="margin:0;">v16i32 for one kind of register and va16i32 for the other kind.</div><div style="margin:0;">va16i32 borrows the type v4i32 for IR.</div><div style="margin:0;">There is a problem.sizeof(v16i32) == 64. that's OK. But sizeof(va16i32) ==16, that's not what we expect.</div><div style="margin:0;">We need the result of sizeof(va16i32) to be 64.</div><div style="margin:0;">How can I rewrite the result of sizeof operator on va16i32?  Could anyone help?</div><div style="margin:0;">Much Thanks in advance! </div><div style="margin:0;"><br></div><div style="margin:0;"><br></div><div style="margin:0;"><br></div><div style="margin:0;">Best Regards,</div><div style="margin:0;">Jerry</div></div><br><br><span title="neteasefooter"><p> </p></span>