[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / PowerPC / iabs.ll
blobfb9948ec3df8b747ccdf8b46fad3bc930189cdfb
1 ; REQUIRES: asserts
2 ; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32-- -stats 2>&1 | \
3 ; RUN:   grep "4 .*Number of machine instrs printed"
5 ;; Integer absolute value, should produce something as good as:
6 ;;      srawi r2, r3, 31
7 ;;      add r3, r3, r2
8 ;;      xor r3, r3, r2
9 ;;      blr 
10 define i32 @test(i32 %a) {
11         %tmp1neg = sub i32 0, %a
12         %b = icmp sgt i32 %a, -1
13         %abs = select i1 %b, i32 %a, i32 %tmp1neg
14         ret i32 %abs