unbreak arm32
original commit: 83221c32b4e8654f0f7d3b3857b7efab5be2bad4
This commit is contained in:
parent
802daa10b1
commit
a4fb72e84c
|
@ -656,8 +656,8 @@
|
|||
(pr " \"cmp r12, #0\\n\\t\"\\~%")
|
||||
(pr " \"bne 1f\\n\\t\"\\~%")
|
||||
(pr " \"mov r12, #1\\n\\t\"\\~%")
|
||||
(pr " \"strex x7, r12, [%0]\\n\\t\"\\~%")
|
||||
(pr " \"cmp x7, #0\\n\\t\"\\~%")
|
||||
(pr " \"strex r7, r12, [%0]\\n\\t\"\\~%")
|
||||
(pr " \"cmp r7, #0\\n\\t\"\\~%")
|
||||
(pr " \"beq 2f\\n\\t\"\\~%")
|
||||
(pr " \"1:\\n\\t\"\\~%")
|
||||
(pr " \"ldr r12, [%0, #0]\\n\\t\"\\~%")
|
||||
|
@ -667,7 +667,7 @@
|
|||
(pr " \"2:\\n\\t\"\\~%")
|
||||
(pr " : \\~%")
|
||||
(pr " : \"r\" (addr)\\~%")
|
||||
(pr " : \"cc\", \"memory\", \"r12\", \"x7\")~%")
|
||||
(pr " : \"cc\", \"memory\", \"r12\", \"r7\")~%")
|
||||
|
||||
(nl)
|
||||
(pr "#define UNLOCK(addr) \\~%")
|
||||
|
@ -683,14 +683,14 @@
|
|||
(pr " \"0:\\n\\t\"\\~%")
|
||||
(pr " \"ldrex r12, [%1, #0]\\n\\t\"\\~%")
|
||||
(pr " \"add r12, r12, #1\\n\\t\"\\~%")
|
||||
(pr " \"strex x7, r12, [%1]\\n\\t\"\\~%")
|
||||
(pr " \"cmp x7, #0\\n\\t\"\\~%")
|
||||
(pr " \"strex r7, r12, [%1]\\n\\t\"\\~%")
|
||||
(pr " \"cmp r7, #0\\n\\t\"\\~%")
|
||||
(pr " \"bne 0b\\n\\t\"\\~%")
|
||||
(pr " \"cmp r12, #0\\n\\t\"\\~%")
|
||||
(pr " \"moveq %0, #1\\n\\t\"\\~%")
|
||||
(pr " : \"=&r\" (ret)\\~%")
|
||||
(pr " : \"r\" (addr)\\~%")
|
||||
(pr " : \"cc\", \"memory\", \"r12\", \"x7\")~%")
|
||||
(pr " : \"cc\", \"memory\", \"r12\", \"r7\")~%")
|
||||
|
||||
(nl)
|
||||
(pr "#define LOCKED_DECR(addr, ret) \\~%")
|
||||
|
@ -698,14 +698,14 @@
|
|||
(pr " \"0:\\n\\t\"\\~%")
|
||||
(pr " \"ldrex r12, [%1, #0]\\n\\t\"\\~%")
|
||||
(pr " \"sub r12, r12, #1\\n\\t\"\\~%")
|
||||
(pr " \"strex x7, r12, [%1]\\n\\t\"\\~%")
|
||||
(pr " \"cmp x7, #0\\n\\t\"\\~%")
|
||||
(pr " \"strex r7, r12, [%1]\\n\\t\"\\~%")
|
||||
(pr " \"cmp r7, #0\\n\\t\"\\~%")
|
||||
(pr " \"bne 0b\\n\\t\"\\~%")
|
||||
(pr " \"cmp r12, #0\\n\\t\"\\~%")
|
||||
(pr " \"moveq %0, #1\\n\\t\"\\~%")
|
||||
(pr " : \"=&r\" (ret)\\~%")
|
||||
(pr " : \"r\" (addr)\\~%")
|
||||
(pr " : \"cc\", \"memory\", \"r12\", \"x7\")~%")]
|
||||
(pr " : \"cc\", \"memory\", \"r12\", \"r7\")~%")]
|
||||
[(arm64)
|
||||
(pr "#define INITLOCK(addr) \\~%")
|
||||
(pr " __asm__ __volatile__ (\"mov x12, #0\\n\\t\"\\~%")
|
||||
|
|
Loading…
Reference in New Issue
Block a user