[llvm-commits] CVS: llvm/lib/Target/README.txt

Chris Lattner sabre at nondot.org
Sun Sep 17 21:54:49 PDT 2006



Changes in directory llvm/lib/Target:

README.txt updated: 1.38 -> 1.39
---
Log message:

This is closer to what we really want.


---
Diffs of the changes:  (+3 -2)

 README.txt |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/README.txt
diff -u llvm/lib/Target/README.txt:1.38 llvm/lib/Target/README.txt:1.39
--- llvm/lib/Target/README.txt:1.38	Sat Sep 16 18:57:51 2006
+++ llvm/lib/Target/README.txt	Sun Sep 17 23:54:35 2006
@@ -260,12 +260,13 @@
 Where MAX_UNSIGNED/state is a 64-bit int.  On a 32-bit platform it would be just
 so cool to turn it into something like:
 
+   long long Res = ((MAX_UNSIGNED) 1 << target);
    if (target < 32) {
      for(i=0; i<reg->size; i++)
-       reg->node[i].state ^= ((int) (1 << target));
+       reg->node[i].state ^= Res & 0xFFFFFFFFULL;
    } else {
      for(i=0; i<reg->size; i++)
-       reg->node[i].state ^= (long long)((int) (1 << (target-32))) << 32;
+       reg->node[i].state ^= Res & 0xFFFFFFFF00000000ULL
    }
    
 ... which would only do one 32-bit XOR per loop iteration instead of two.






More information about the llvm-commits mailing list