summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/README.txt
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-07-17 03:30:54 +0000
committerJim Grosbach <grosbach@apple.com>2010-07-17 03:30:54 +0000
commit5423856e44a7e4b173af211b0fb0675c44945a58 (patch)
treebac56b6c0151d1328703beccdcf5e0b34618d6a6 /lib/Target/ARM/README.txt
parent879259faa3b24015949f3a3614ce348a7c20e422 (diff)
downloadllvm-5423856e44a7e4b173af211b0fb0675c44945a58.tar.gz
llvm-5423856e44a7e4b173af211b0fb0675c44945a58.tar.bz2
llvm-5423856e44a7e4b173af211b0fb0675c44945a58.tar.xz
Add combiner patterns to more effectively utilize the BFI (bitfield insert)
instruction for non-constant operands. This includes the case referenced in the README.txt regarding a bitfield copy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108608 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/README.txt')
-rw-r--r--lib/Target/ARM/README.txt21
1 files changed, 0 insertions, 21 deletions
diff --git a/lib/Target/ARM/README.txt b/lib/Target/ARM/README.txt
index 0cb8ff0118..ba4e5da5a0 100644
--- a/lib/Target/ARM/README.txt
+++ b/lib/Target/ARM/README.txt
@@ -611,27 +611,6 @@ constant which was already loaded). Not sure what's necessary to do that.
//===---------------------------------------------------------------------===//
-Given the following on ARMv7:
-int test1(int A, int B) {
- return (A&-8388481)|(B&8388480);
-}
-
-We currently generate:
- bfc r0, #7, #16
- movw r2, #:lower16:8388480
- movt r2, #:upper16:8388480
- and r1, r1, r2
- orr r0, r1, r0
- bx lr
-
-The following is much shorter:
- lsr r1, r1, #7
- bfi r0, r1, #7, #16
- bx lr
-
-
-//===---------------------------------------------------------------------===//
-
The code generated for bswap on armv4/5 (CPUs without rev) is less than ideal:
int a(int x) { return __builtin_bswap32(x); }