diff options
Diffstat (limited to 'lib/Target/ARM/README.txt')
-rw-r--r-- | lib/Target/ARM/README.txt | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/ARM/README.txt b/lib/Target/ARM/README.txt index 000e8e6450..04bf9588ad 100644 --- a/lib/Target/ARM/README.txt +++ b/lib/Target/ARM/README.txt @@ -43,6 +43,20 @@ Among the obvious wins, doing so can eliminate the need to custom expand copysign (i.e. we won't need to custom expand it to get the conditional negate). +This allows us to eliminate one instruction from: + +define i32 @_Z6slow4bii(i32 %x, i32 %y) { + %tmp = icmp sgt i32 %x, %y + %retval = select i1 %tmp, i32 %x, i32 %y + ret i32 %retval +} + +__Z6slow4bii: + cmp r0, r1 + movgt r1, r0 + mov r0, r1 + bx lr + //===---------------------------------------------------------------------===// Implement long long "X-3" with instructions that fold the immediate in. These |