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. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits