Subject: r223862 - caused regressions in internal tests
Richard Barton
richard.barton at arm.com
Fri Dec 19 10:23:31 PST 2014
Hi Ahmed,
I am going off on hols for two weeks, so please cc Ranjeet in your reply.
This commit broke some of our internal runtime tests on cortex-a9 and
8-A.32, I've created a simple reproducer below:
#include <stdlib.h>
int main() {
char szNumbers[] = "250068492 7b06af00 1100011011110101010001100000
0x6fffff";
char * pEnd;
unsigned long long int ulli1;
ulli1 = strtoull (szNumbers, &pEnd, 10);
return 0;
}
$ clang -mcpu=cortex-a9 --target=armv7a-none-eabi -std=c99 -mthumb -O0
-fno-builtin -pedantic -Iinclude -INone test.c -o test
The diff between the assembly produced without this patch and with it is
below
add.w r12, r3, #32
vld1.8 {d16, d17}, [r12]
vst1.64 {d16, d17}, [r2]
- add.w r2, r1, #16
- add.w r12, r3, #16
- vld1.8 {d16, d17}, [r12]
- vst1.64 {d16, d17}, [r2]
+ vld1.64 {d16, d17}, [r3]!
+ mov r2, r1
+ vst1.64 {d16, d17}, [r2:64]!
vld1.8 {d16, d17}, [r3]
- vst1.64 {d16, d17}, [r1]
+ vst1.64 {d16, d17}, [r2]
Could you please investigate?
Thanks,
Ranjeet
More information about the llvm-commits
mailing list