search for: hidden_not

Displaying 3 results from an estimated 3 matches for "hidden_not".

2017 Jul 13
2
failing to optimize boolean ops on cmps
...d = and i8 %nota, %b %res = or i8 %and, %a ret i8 %res } define i1 @or_and_cmp_not(i32 %a, i32 %b, i1 %c) { %cmp = icmp sgt i32 %a, %b %cmp_inv = icmp sle i32 %a, %b ; this is 'not' of %cmp %and = and i1 %c, %cmp_inv %res = or i1 %cmp, %and ret i1 %res } $ ./opt -instcombine hidden_not.ll -S define i8 @or_and_not(i8 %a, i8 %b) { %res = or i8 %b, %a ret i8 %res } define i1 @or_and_cmp_not(i32 %a, i32 %b, i1 %c) { %cmp = icmp sgt i32 %a, %b %cmp_inv = icmp sle i32 %a, %b %and = and i1 %cmp_inv, %c %res = or i1 %cmp, %and ret i1 %res } ------------------------------...
2017 Jul 13
2
failing to optimize boolean ops on cmps
...@or_and_cmp_not(i32 %a, i32 %b, i1 %c) { >> %cmp = icmp sgt i32 %a, %b >> %cmp_inv = icmp sle i32 %a, %b ; this is 'not' of %cmp >> %and = and i1 %c, %cmp_inv >> %res = or i1 %cmp, %and >> ret i1 %res >> } >> >> $ ./opt -instcombine hidden_not.ll -S >> >> define i8 @or_and_not(i8 %a, i8 %b) { >> %res = or i8 %b, %a >> ret i8 %res >> } >> >> define i1 @or_and_cmp_not(i32 %a, i32 %b, i1 %c) { >> %cmp = icmp sgt i32 %a, %b >> %cmp_inv = icmp sle i32 %a, %b >> %and = and i...
2017 Jul 14
2
failing to optimize boolean ops on cmps
...%cmp = icmp sgt i32 %a, %b > %cmp_inv = icmp sle i32 %a, %b ; this is 'not' of %cmp > %and = and i1 %c, %cmp_inv > %res = or i1 %cmp, %and > ret i1 %res > } > > $ ./opt -instcombine hidden_not.ll -S > > define i8 @or_and_not(i8 %a, i8 %b) { > %res = or i8 %b, %a > ret i8 %res > } > > define i1 @or_and_cmp_not(i32 %a, i32 %b, i1 %c) { > %cmp = icmp sgt i32 %a, %b > %cmp_i...