search for: narrow_add

Displaying 4 results from an estimated 4 matches for "narrow_add".

2018 Jan 17
3
always allow canonicalizing to 8- and 16-bit ops?
Example: define i8 @narrow_add(i8 %x, i8 %y) { %x32 = zext i8 %x to i32 %y32 = zext i8 %y to i32 %add = add nsw i32 %x32, %y32 %tr = trunc i32 %add to i8 ret i8 %tr } With no data-layout or with an x86 target where 8-bit integer is in the data-layout, we reduce to: $ ./opt -instcombine narrowadd.ll -S define i8 @narr...
2018 Jan 22
2
always allow canonicalizing to 8- and 16-bit ops?
...s though. > Dave > > ________________________________________ > From: Sanjay Patel <spatel at rotateright.com> > Sent: 17 January 2018 22:50 > To: llvm-dev > Cc: David Green > Subject: always allow canonicalizing to 8- and 16-bit ops? > > Example: > define i8 @narrow_add(i8 %x, i8 %y) { > %x32 = zext i8 %x to i32 > %y32 = zext i8 %y to i32 > %add = add nsw i32 %x32, %y32 > %tr = trunc i32 %add to i8 > ret i8 %tr > } > > With no data-layout or with an x86 target where 8-bit integer is in the > data-layout, we reduce to: > >...
2018 Jan 22
0
always allow canonicalizing to 8- and 16-bit ops?
...e I said I can't be sure about other architectures though. Dave ________________________________________ From: Sanjay Patel <spatel at rotateright.com> Sent: 17 January 2018 22:50 To: llvm-dev Cc: David Green Subject: always allow canonicalizing to 8- and 16-bit ops? Example: define i8 @narrow_add(i8 %x, i8 %y) { %x32 = zext i8 %x to i32 %y32 = zext i8 %y to i32 %add = add nsw i32 %x32, %y32 %tr = trunc i32 %add to i8 ret i8 %tr } With no data-layout or with an x86 target where 8-bit integer is in the data-layout, we reduce to: $ ./opt -instcombine narrowadd.ll -S define i8 @narr...
2018 Jan 23
0
MachineVerifier and undef
...______________________________ > From: Sanjay Patel <spatel at rotateright.com<mailto:spatel at rotateright.com>> > Sent: 17 January 2018 22:50 > To: llvm-dev > Cc: David Green > Subject: always allow canonicalizing to 8- and 16-bit ops? > > Example: > define i8 @narrow_add(i8 %x, i8 %y) { > %x32 = zext i8 %x to i32 > %y32 = zext i8 %y to i32 > %add = add nsw i32 %x32, %y32 > %tr = trunc i32 %add to i8 > ret i8 %tr > } > > With no data-layout or with an x86 target where 8-bit integer is in the > data-layout, we reduce to: > >...