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:
>
>...