asma: shorter 128bit immediate value hax
authorBernhard Urban <lewurm@gmail.com>
Tue, 2 Mar 2010 13:28:46 +0000 (14:28 +0100)
committerBernhard Urban <lewurm@gmail.com>
Tue, 2 Mar 2010 13:28:46 +0000 (14:28 +0100)
asma/asma.s

index 499330b125d1f58a1c59ff29aa6042de6d037e75..4881e0b0924b2bc6f955b1fd1cebbce808fa6329 100644 (file)
@@ -10,17 +10,13 @@ asma:
        * ~102 = 10011001
        * (~102)+1 = 10011010 = 0x9A */
        mov $0x9a9a9a9a9a9a9a9a, %rbx
-       movq %rbx, %xmm1
-       pslldq $8, %xmm1
        movq %rbx, %xmm7
-       por %xmm7, %xmm1
+       movddup %xmm7, %xmm1
 
        //init %xmm2 mit "'a'-'A'= 97-65 = 32 = 0x20
        mov $0x2020202020202020, %rbx
-       movq %rbx, %xmm2
-       pslldq $8, %xmm2
        movq %rbx, %xmm7
-       por %xmm7, %xmm2
+       movddup %xmm7, %xmm2
 
        //speicheradresse des pointers zeigt auf 16*8 feld = 128bit
        movdqu (%rdi), %xmm4
@@ -29,10 +25,8 @@ asma:
        /*addiere in %xmm4 "min_t-'A'"
        * = -128 - 65 = 63 = 0x3f */
        mov $0x3f3f3f3f3f3f3f3f, %rbx
-       movq %rbx, %xmm3
-       pslldq $8, %xmm3
        movq %rbx, %xmm7
-       por %xmm7, %xmm3
+       movddup %xmm7, %xmm3
 
        //c+min_t-'A'
        paddb %xmm3, %xmm4