summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/README.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-24 20:04:27 +0000
committerChris Lattner <sabre@nondot.org>2006-03-24 20:04:27 +0000
commit057f09bc0b6ff4e0995995010b123ad6e9fefd39 (patch)
tree8adc56d7a8c7e8390cc45c61206d3b391bbdb875 /lib/Target/PowerPC/README.txt
parente6cd96d4672242f620b8e97b28d0e120e1293856 (diff)
downloadllvm-057f09bc0b6ff4e0995995010b123ad6e9fefd39.tar.gz
llvm-057f09bc0b6ff4e0995995010b123ad6e9fefd39.tar.bz2
llvm-057f09bc0b6ff4e0995995010b123ad6e9fefd39.tar.xz
add another note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27077 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/README.txt')
-rw-r--r--lib/Target/PowerPC/README.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt
index 5bdefaa23c..12599cb2fa 100644
--- a/lib/Target/PowerPC/README.txt
+++ b/lib/Target/PowerPC/README.txt
@@ -579,3 +579,18 @@ Since we know that "Vector" is 16-byte aligned and we know the element offset
of ".X", we should change the load into a lve*x instruction, instead of doing
a load/store/lve*x sequence.
+===-------------------------------------------------------------------------===
+
+We generate ugly code for this:
+
+void func(unsigned int *ret, float dx, float dy, float dz, float dw) {
+ unsigned code = 0;
+ if(dx < -dw) code |= 1;
+ if(dx > dw) code |= 2;
+ if(dy < -dw) code |= 4;
+ if(dy > dw) code |= 8;
+ if(dz < -dw) code |= 16;
+ if(dz > dw) code |= 32;
+ *ret = code;
+}
+