diff options
-rw-r--r-- | lib/Target/ARM/README.txt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/Target/ARM/README.txt b/lib/Target/ARM/README.txt index 7d612d019b..736d776fd8 100644 --- a/lib/Target/ARM/README.txt +++ b/lib/Target/ARM/README.txt @@ -7,3 +7,24 @@ Consider implementing a select with two conditional moves: cmp x, y moveq dst, a movne dst, b + +---------------------------------------------------------- + + +%tmp1 = shl int %b, ubyte %c +%tmp4 = add int %a, %tmp1 + +compiles to + +add r0, r0, r1, lsl r2 + +but + +%tmp1 = shl int %b, ubyte %c +%tmp4 = add int %tmp1, %a + +compiles to +mov r1, r1, lsl r2 +add r0, r1, r0 + +---------------------------------------------------------- |