arm64: codea/abgabe_aa.0
[uebersetzerbau-ss10.git] / asma / asma.s
index 9ea72d32ba5a7e8e62c46648c08337ada17bd5be..d17f4e1ae72efd795c7fe7a832dd7d7328ece8ff 100644 (file)
@@ -1,7 +1,5 @@
-       .file   "asma.c"
-
-.section .rodata
-.align 128
+       .data
+       .align 16
 const65:
        .rept 16
        .byte 0x65
@@ -17,18 +15,13 @@ constc0:
 
        .text
 .globl asma
-       .type   asma, @function
 asma:
-.LFB2:
-       // folgendes kann umgeformt werden:
-       // (mathematisch ned ganz korrekt)
+       // folgendes kann umgeformt werden (max_t = 127)
        // X = 'Z' + 1 + min_t - 'A' > c + min_t - 'A' ? 0xff : 0
-       // X = -102         >  c + 63 ? 0xff : 0
-       // X = c + 63       < -102 ? 0xff : 0
-       // X = -(c + 63)    >  102 ? 0xff : 0
-       // X = -63 - c      >  102 ? 0xff : 0
-       // X = -63 - c - 1  >  102 - 1 ? 0xff : 0
-       // X = -64 - c      >  101 ? 0xff : 0
+       // X =      -c + max_t + 'A' > - 'Z' -1 + max_t + 'A' ? 0xff : 0
+       // X =         -c + 127 + 65 > - 90 - 1 + 127 + 65 ? 0xff : 0
+       // X =               -c - 64 > 101 ? 0xff : 0
+       // X =               -64 - c > 101 ? 0xff : 0
        // ...
        // 101 = 0x65
        // -64 = 0xc0
@@ -47,7 +40,7 @@ asma:
 
        // Y = min(X, 'a' - 'A')
        // mit 'a'-'A'= 97-65 = 32 = 0x20
-       pminub const20, %xmm9
+       pand const20, %xmm9
 
        // c += Y
        paddb %xmm9, %xmm11
@@ -57,35 +50,3 @@ asma:
        movdqu %xmm11, (%rax)
 
        ret
-.LFE2:
-       .size   asma, .-asma
-       .section        .eh_frame,"a",@progbits
-.Lframe1:
-       .long   .LECIE1-.LSCIE1
-.LSCIE1:
-       .long   0x0
-       .byte   0x1
-       .string "zR"
-       .uleb128 0x1
-       .sleb128 -8
-       .byte   0x10
-       .uleb128 0x1
-       .byte   0x3
-       .byte   0xc
-       .uleb128 0x7
-       .uleb128 0x8
-       .byte   0x90
-       .uleb128 0x1
-       .align 8
-.LECIE1:
-.LSFDE1:
-       .long   .LEFDE1-.LASFDE1
-.LASFDE1:
-       .long   .LASFDE1-.Lframe1
-       .long   .LFB2
-       .long   .LFE2-.LFB2
-       .uleb128 0x0
-       .align 8
-.LEFDE1:
-       .ident  "GCC: (Debian 4.3.2-1.1) 4.3.2"
-       .section        .note.GNU-stack,"",@progbits