search for: negone_one_zero

Displaying 1 result from an estimated 1 matches for "negone_one_zero".

2017 Jul 01
8
[IR canonicalization] 6 ways to choose {-1,0,1}
...ero_one_negone(int x, int y) { if (x == y) return 0; if (x > y) return 1; return -1; } define i32 @zero_one_negone(i32, i32) { %3 = icmp eq i32 %0, %1 %4 = icmp sgt i32 %0, %1 %5 = select i1 %4, i32 1, i32 -1 %6 = select i1 %3, i32 0, i32 %5 ret i32 %6 } 3. Select and zext int negone_one_zero(int x, int y) { if (x < y) return -1; if (x > y) return 1; return 0; } define i32 @negone_one_zero(i32, i32) { %3 = icmp slt i32 %0, %1 %4 = icmp sgt i32 %0, %1 %5 = zext i1 %4 to i32 %6 = select i1 %3, i32 -1, i32 %5 ret i32 %6 } 4. Select and sext int negone_zero_one(int...