From 7ca578dcc2d598744196f55a89ff1e0d6dfa1fd5 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Tue, 9 Mar 2010 17:47:32 +0100 Subject: [PATCH] asma: ... offizielle testfaelle rennen jetzt auch durch gab probleme bei unaligned speicherzugriff --- asma/asma.s | 5 +++-- asma/main.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/asma/asma.s b/asma/asma.s index e8ef508..d1202ce 100644 --- a/asma/asma.s +++ b/asma/asma.s @@ -48,8 +48,9 @@ asma: //retuniere an die richtige speicheradresse mov %rdi, %rax //c += Y - paddb (%rax), %xmm8 - movapd %xmm8, (%rax) + psubb const3f, %xmm11 + paddb %xmm11, %xmm8 + movdqu %xmm8, (%rax) ret .LFE2: diff --git a/asma/main.c b/asma/main.c index 4db42e6..a228147 100644 --- a/asma/main.c +++ b/asma/main.c @@ -22,12 +22,13 @@ int main(int argc, char **argv) { char *input2; char *input3; int i, j; + int off[] = {2,0,0,0}; for(i = 0; i < 4; i++) { input2 = strdup(input1[i]); input3 = strdup(input1[i]); - output1 = (char *)asma_ref((unsigned char *)(input2)); - output2 = (char *)asma((unsigned char *)(input3)); + output1 = (char *)asma_ref((unsigned char *)(input2 + off[i])); + output2 = (char *)asma((unsigned char *)(input3 + off[i])); output1[16]='\0'; output2[16]='\0'; -- 2.25.1