summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-09-13 03:54:54 +0000
committerChris Lattner <sabre@nondot.org>2006-09-13 03:54:54 +0000
commit3496710f25b930251739acc6e2031c17c11d5a8b (patch)
treefd9ba777cc07990cd7e7d0e4815300000d3525ea /llvm/lib/Target
parent72b503bcadcd23d336baba37f0b2b3c9b6898304 (diff)
downloadbcm5719-llvm-3496710f25b930251739acc6e2031c17c11d5a8b.tar.gz
bcm5719-llvm-3496710f25b930251739acc6e2031c17c11d5a8b.zip
new note
llvm-svn: 30285
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/README.txt13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/README.txt b/llvm/lib/Target/X86/README.txt
index 8994569ea9c..5e2ab199ad2 100644
--- a/llvm/lib/Target/X86/README.txt
+++ b/llvm/lib/Target/X86/README.txt
@@ -45,6 +45,19 @@ http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01136.html
Another useful one would be ~0ULL >> X and ~0ULL << X.
+One better solution for 1LL << x is:
+ xorl %eax, %eax
+ xorl %edx, %edx
+ testb $32, %cl
+ sete %al
+ setne %dl
+ sall %cl, %eax
+ sall %cl, %edx
+
+But that requires good 8-bit subreg support.
+
+
+
//===---------------------------------------------------------------------===//
Compile this:
OpenPOWER on IntegriCloud