forked from OSchip/llvm-project
[LLDB][ARM] Extend testing for vpush emulation
https://reviews.llvm.org/D131658 found a bug in ReadPseudoRegisterValue which would mean we read out of bounds if the s register number was high enough. This adds a memory check to vpush-1-thumb, which should have been doing that anyway. Then copies that test and uses the last 4 s registers instead. Without the mentioned fix we see random values in the final memory, with the fix it passes. Reviewed By: fixathon Differential Revision: https://reviews.llvm.org/D131663
This commit is contained in:
parent
726719e970
commit
14913fa5d0
|
@ -0,0 +1,121 @@
|
|||
InstructionEmulationState={
|
||||
assembly_string="vpush {s28, s29, s30, s31}"
|
||||
triple=thumb-apple-ios
|
||||
opcode=0xed2dea04
|
||||
before_state={
|
||||
registers={
|
||||
r0=0x00000000
|
||||
r1=0x00000001
|
||||
r2=0x00000002
|
||||
r3=0x00000003
|
||||
r4=0x00000004
|
||||
r5=0x00000005
|
||||
r6=0x00000006
|
||||
r7=0x2fdffe60
|
||||
r8=0x00000008
|
||||
r9=0x00000009
|
||||
r10=0x0000000a
|
||||
r11=0x0000000b
|
||||
r12=0x0000000c
|
||||
r13=0x2fdffe60
|
||||
r14=0x00002f80
|
||||
r15=0x00002ff8
|
||||
cpsr=0x60000030
|
||||
s0=0x00000000
|
||||
s1=0x00000000
|
||||
s2=0x00000000
|
||||
s3=0x00000000
|
||||
s4=0x00000000
|
||||
s5=0x00000000
|
||||
s6=0x00000000
|
||||
s7=0x00000000
|
||||
s8=0x00000000
|
||||
s9=0x00000000
|
||||
s10=0x00000000
|
||||
s11=0x00000000
|
||||
s12=0x00000000
|
||||
s13=0x00000000
|
||||
s14=0x00000000
|
||||
s15=0x00000000
|
||||
s16=0x00000000
|
||||
s17=0x00000000
|
||||
s18=0x00000000
|
||||
s19=0x00000000
|
||||
s20=0x00000000
|
||||
s21=0x00000000
|
||||
s22=0x00000000
|
||||
s23=0x00000000
|
||||
s24=0x00000000
|
||||
s25=0x00000000
|
||||
s26=0x00000000
|
||||
s27=0x00000000
|
||||
s28=0x11111111
|
||||
s29=0x22222222
|
||||
s30=0x33333333
|
||||
s31=0x44444444
|
||||
}
|
||||
}
|
||||
after_state={
|
||||
memory={
|
||||
address=0x2fdffe50
|
||||
data_encoding=uint32_t
|
||||
data=[
|
||||
0x11111111
|
||||
0x22222222
|
||||
0x33333333
|
||||
0x44444444
|
||||
]
|
||||
}
|
||||
registers={
|
||||
r0=0x00000000
|
||||
r1=0x00000001
|
||||
r2=0x00000002
|
||||
r3=0x00000003
|
||||
r4=0x00000004
|
||||
r5=0x00000005
|
||||
r6=0x00000006
|
||||
r7=0x2fdffe60
|
||||
r8=0x00000008
|
||||
r9=0x00000009
|
||||
r10=0x0000000a
|
||||
r11=0x0000000b
|
||||
r12=0x0000000c
|
||||
r13=0x2fdffe50
|
||||
r14=0x00002f80
|
||||
r15=0x00002ffc
|
||||
cpsr=0x60000030
|
||||
s0=0x00000000
|
||||
s1=0x00000000
|
||||
s2=0x00000000
|
||||
s3=0x00000000
|
||||
s4=0x00000000
|
||||
s5=0x00000000
|
||||
s6=0x00000000
|
||||
s7=0x00000000
|
||||
s8=0x00000000
|
||||
s9=0x00000000
|
||||
s10=0x00000000
|
||||
s11=0x00000000
|
||||
s12=0x00000000
|
||||
s13=0x00000000
|
||||
s14=0x00000000
|
||||
s15=0x00000000
|
||||
s16=0x00000000
|
||||
s17=0x00000000
|
||||
s18=0x00000000
|
||||
s19=0x00000000
|
||||
s20=0x00000000
|
||||
s21=0x00000000
|
||||
s22=0x00000000
|
||||
s23=0x00000000
|
||||
s24=0x00000000
|
||||
s25=0x00000000
|
||||
s26=0x00000000
|
||||
s27=0x00000000
|
||||
s28=0x11111111
|
||||
s29=0x22222222
|
||||
s30=0x33333333
|
||||
s31=0x44444444
|
||||
}
|
||||
}
|
||||
}
|
|
@ -43,19 +43,33 @@ s18=0x00000000
|
|||
s19=0x00000000
|
||||
s20=0x00000000
|
||||
s21=0x00000000
|
||||
s22=0x00000000
|
||||
s23=0x00000000
|
||||
s24=0x00000000
|
||||
s25=0x00000000
|
||||
s26=0x00000000
|
||||
s27=0x00000000
|
||||
s28=0x00000000
|
||||
s29=0x00000000
|
||||
s22=0x11111111
|
||||
s23=0x22222222
|
||||
s24=0x33333333
|
||||
s25=0x44444444
|
||||
s26=0x55555555
|
||||
s27=0x66666666
|
||||
s28=0x77777777
|
||||
s29=0x88888888
|
||||
s30=0x00000000
|
||||
s31=0x00000000
|
||||
}
|
||||
}
|
||||
after_state={
|
||||
memory={
|
||||
address=0x2fdffe40
|
||||
data_encoding=uint32_t
|
||||
data=[
|
||||
0x11111111
|
||||
0x22222222
|
||||
0x33333333
|
||||
0x44444444
|
||||
0x55555555
|
||||
0x66666666
|
||||
0x77777777
|
||||
0x88888888
|
||||
]
|
||||
}
|
||||
registers={
|
||||
r0=0x00000000
|
||||
r1=0x00000001
|
||||
|
@ -96,14 +110,14 @@ s18=0x00000000
|
|||
s19=0x00000000
|
||||
s20=0x00000000
|
||||
s21=0x00000000
|
||||
s22=0x00000000
|
||||
s23=0x00000000
|
||||
s24=0x00000000
|
||||
s25=0x00000000
|
||||
s26=0x00000000
|
||||
s27=0x00000000
|
||||
s28=0x00000000
|
||||
s29=0x00000000
|
||||
s22=0x11111111
|
||||
s23=0x22222222
|
||||
s24=0x33333333
|
||||
s25=0x44444444
|
||||
s26=0x55555555
|
||||
s27=0x66666666
|
||||
s28=0x77777777
|
||||
s29=0x88888888
|
||||
s30=0x00000000
|
||||
s31=0x00000000
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue