[llvm-dev] What should a truncating store do?

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Fri Sep 15 10:55:14 PDT 2017


On 9/15/2017 5:49 AM, Jon Chesterfield via llvm-dev wrote:
> For example, truncating store of an i32 to i6. My assumption was that 
> this should write the low six bits of the i32 to somewhere in memory.
>
> Should the top 24 bits of a corresponding 32 bit region of memory be 
> unchanged, zero,  undefined?

Unchanged.

> Should the two bits that would round the i6 up to a byte be preserved, 
> zero, undefined?

Zero.  Legalization will normally handle this for you, though, by 
transforming it to an i8 store.

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project



More information about the llvm-dev mailing list