Displaying 2 results from an estimated 2 matches for "test_sext_icmp_i64".
2014 Jul 08
2
[LLVMdev] LLVM commit 410f38e01597120b41e406ec1cea69127463f9e5
...s broken.
>
> No, it is necessary and is the fundamental change in that commit. SelectVT
> is not necessarily the same as VT, so it needs to be converted. This patch
> breaks the testcases I have that this fixed. If it helps, this is the
> testcase I was fixing.
>
> define i32 @test_sext_icmp_i64(i64 %arg) {
> %x = icmp eq i64 %arg, 0
> %y = sext i1 %x to i32
> ret i32 %y
> }
>
>
So this is not possible ?
(select (i64 setcc ...), (i32 -1), (i32 0))
> The setcc type is i64 for the i64 icmp, so it then needs to be truncated
> to 32-bits in this situation
>...
2014 Jul 08
2
[LLVMdev] LLVM commit 410f38e01597120b41e406ec1cea69127463f9e5
OK from what I understand, the DAG.getSExtOrTrunc(SetCC, DL, SelectVT) is
unecessary and the SelectVT is nto the right type (as it is called with
incorrect parameter).
Here is a patch so it won't generate a loop. I ran make check and it
doesn't look like anything is broken.
2014-07-07 11:36 GMT-07:00 Matt Arsenault <arsenm2 at gmail.com>:
>
> On Jul 5, 2014, at 7:14 PM,