This is done to match the pseudo-code.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I56e2bd0c838e16ef2de459da7d15493dd191df4a
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_INJECT_ASM(3)
"ldr r0, %[v]\n\t"
"cmp %[expect], r0\n\t"
- "bne %l[cmpfail]\n\t"
+ "bne %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "r0", "memory", "cc"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[eq])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_INJECT_ASM(3)
"ldr r0, %[v]\n\t"
"cmp %[expectnot], r0\n\t"
- "beq %l[cmpfail]\n\t"
+ "beq %l[eq]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "r0", "memory", "cc"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, eq
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+eq:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_INJECT_ASM(3)
"ldr r0, %[v]\n\t"
"cmp %[expect], r0\n\t"
- "bne %l[cmpfail]\n\t"
+ "bne %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
"ldr r0, %[v2]\n\t"
"cmp %[expect2], r0\n\t"
- "bne %l[cmpfail]\n\t"
+ "bne %l[ne]\n\t"
RSEQ_INJECT_ASM(5)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "r0", "memory", "cc"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2, error3
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_INJECT_ASM(3)
"ldr r0, %[v]\n\t"
"cmp %[expect], r0\n\t"
- "bne %l[cmpfail]\n\t"
+ "bne %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "r0", "memory", "cc"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
"ldr %[len], %[rseq_scratch2]\n\t"
"ldr %[dst], %[rseq_scratch1]\n\t"
"ldr %[src], %[rseq_scratch0]\n\t",
- cmpfail)
+ ne)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_CMPFAIL(6,
/* teardown */
RSEQ_INJECT_INPUT
: "r0", "memory", "cc"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error2])
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBNE(v, expect, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v, expect, %l[ne])
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
[newv] "r" (newv)
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[eq])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error2])
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBEQ(v, expectnot, %l[cmpfail])
+ RSEQ_ASM_OP_CBEQ(v, expectnot, %l[eq])
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
[voffp] "r" (voffp)
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG
- : abort, cmpfail
+ : abort, eq
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+eq:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error2])
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBNE(v, expect, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v, expect, %l[ne])
RSEQ_INJECT_ASM(4)
- RSEQ_ASM_OP_CBNE(v2, expect2, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v2, expect2, %l[ne])
RSEQ_INJECT_ASM(5)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
[newv] "r" (newv)
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2, error3
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error2])
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBNE(v, expect, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v, expect, %l[ne])
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
[newv2] "r" (newv2)
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(2f, %l[error2])
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBNE(v, expect, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v, expect, %l[ne])
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
[len] "r" (len)
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG, RSEQ_ASM_TMP_REG_2
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
LONG_L " $4, %[v]\n\t"
- "bne $4, %[expect], %l[cmpfail]\n\t"
+ "bne $4, %[expect], %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "$4", "memory"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[eq])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
LONG_L " $4, %[v]\n\t"
- "beq $4, %[expectnot], %l[cmpfail]\n\t"
+ "beq $4, %[expectnot], %l[eq]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "$4", "memory"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, eq
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+eq:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
LONG_L " $4, %[v]\n\t"
- "bne $4, %[expect], %l[cmpfail]\n\t"
+ "bne $4, %[expect], %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
LONG_L " $4, %[v2]\n\t"
- "bne $4, %[expect2], %l[cmpfail]\n\t"
+ "bne $4, %[expect2], %l[ne]\n\t"
RSEQ_INJECT_ASM(5)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "$4", "memory"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2, error3
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
LONG_L " $4, %[v]\n\t"
- "bne $4, %[expect], %l[cmpfail]\n\t"
+ "bne $4, %[expect], %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "$4", "memory"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
LONG_L " %[len], %[rseq_scratch2]\n\t"
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
- cmpfail)
+ ne)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_CMPFAIL(6,
/* teardown */
RSEQ_INJECT_INPUT
: "$4", "memory"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
/* cmp @v equal to @expect */
- RSEQ_ASM_OP_CBNE(v, expect, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v, expect, %l[ne])
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
/* cmp cpuid */
RSEQ_INJECT_INPUT
: "memory", "cc", "r17"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[eq])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
/* cmp @v not equal to @expectnot */
- RSEQ_ASM_OP_CBEQ(v, expectnot, %l[cmpfail])
+ RSEQ_ASM_OP_CBEQ(v, expectnot, %l[eq])
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
/* cmp cpuid */
RSEQ_INJECT_INPUT
: "memory", "cc", "r17"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, eq
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+eq:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
/* cmp @v equal to @expect */
- RSEQ_ASM_OP_CBNE(v, expect, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v, expect, %l[ne])
RSEQ_INJECT_ASM(4)
/* cmp @v2 equal to @expct2 */
- RSEQ_ASM_OP_CBNE(v2, expect2, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v2, expect2, %l[ne])
RSEQ_INJECT_ASM(5)
#ifdef RSEQ_COMPARE_TWICE
/* cmp cpuid */
RSEQ_INJECT_INPUT
: "memory", "cc", "r17"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2, error3
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
/* cmp @v equal to @expect */
- RSEQ_ASM_OP_CBNE(v, expect, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v, expect, %l[ne])
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
/* cmp cpuid */
RSEQ_INJECT_INPUT
: "memory", "cc", "r17"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
/* cmp @v equal to @expect */
- RSEQ_ASM_OP_CBNE(v, expect, %l[cmpfail])
+ RSEQ_ASM_OP_CBNE(v, expect, %l[ne])
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
/* cmp cpuid */
RSEQ_INJECT_INPUT
: "memory", "cc", "r17", "r18", "r19", "r20", "r21"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
RSEQ_INJECT_C(9)
__asm__ __volatile__ goto(RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[cmpfail]")
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[ne]")
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error1]")
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error2]")
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBNE(v, expect, "%l[cmpfail]")
+ RSEQ_ASM_OP_CBNE(v, expect, "%l[ne]")
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, "%l[error1]")
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG_1
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
RSEQ_INJECT_C(9)
__asm__ __volatile__ goto(RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[cmpfail]")
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[eq]")
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error1]")
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error2]")
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBEQ(v, expectnot, "%l[cmpfail]")
+ RSEQ_ASM_OP_CBEQ(v, expectnot, "%l[eq]")
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, "%l[error1]")
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG_1
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, eq
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+eq:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
RSEQ_INJECT_C(9)
__asm__ __volatile__ goto(RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[cmpfail]")
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[ne]")
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error1]")
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error2]")
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBNE(v, expect, "%l[cmpfail]")
+ RSEQ_ASM_OP_CBNE(v, expect, "%l[ne]")
RSEQ_INJECT_ASM(4)
- RSEQ_ASM_OP_CBNE(v2, expect2, "%l[cmpfail]")
+ RSEQ_ASM_OP_CBNE(v2, expect2, "%l[ne]")
RSEQ_INJECT_ASM(5)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, "%l[error1]")
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG_1
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2, error3
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
RSEQ_INJECT_C(9)
__asm__ __volatile__ goto(RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[cmpfail]")
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[ne]")
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error1]")
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error2]")
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBNE(v, expect, "%l[cmpfail]")
+ RSEQ_ASM_OP_CBNE(v, expect, "%l[ne]")
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, "%l[error1]")
RSEQ_INJECT_INPUT
: "memory", RSEQ_ASM_TMP_REG_1
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
{
RSEQ_INJECT_C(9)
__asm__ __volatile__ goto(RSEQ_ASM_DEFINE_TABLE(1, 2f, 3f, 4f)
- RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[cmpfail]")
+ RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[ne]")
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error1]")
RSEQ_ASM_DEFINE_EXIT_POINT(2f, "%l[error2]")
RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs)
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
- RSEQ_ASM_OP_CBNE(v, expect, "%l[cmpfail]")
+ RSEQ_ASM_OP_CBNE(v, expect, "%l[ne]")
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, "%l[error1]")
: "memory", RSEQ_ASM_TMP_REG_1, RSEQ_ASM_TMP_REG_2,
RSEQ_ASM_TMP_REG_3, RSEQ_ASM_TMP_REG_4
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
abort:
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
return 1;
#ifdef RSEQ_COMPARE_TWICE
error1:
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
LONG_CMP " %[expect], %[v]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "memory", "cc", "r0"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[eq])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_INJECT_ASM(3)
LONG_L " %%r1, %[v]\n\t"
LONG_CMP_R " %%r1, %[expectnot]\n\t"
- "je %l[cmpfail]\n\t"
+ "je %l[eq]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "memory", "cc", "r0", "r1"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, eq
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+eq:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
LONG_CMP " %[expect], %[v]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
LONG_CMP " %[expect2], %[v2]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(5)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "memory", "cc", "r0"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2, error3
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, 4f)
RSEQ_INJECT_ASM(3)
LONG_CMP " %[expect], %[v]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, current_cpu_id, %l[error1])
RSEQ_INJECT_INPUT
: "memory", "cc", "r0"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
LONG_L " %[len], %[rseq_scratch2]\n\t"
LONG_L " %[dst], %[rseq_scratch1]\n\t"
LONG_L " %[src], %[rseq_scratch0]\n\t",
- cmpfail)
+ ne)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_CMPFAIL(6,
LONG_L " %[len], %[rseq_scratch2]\n\t"
RSEQ_INJECT_INPUT
: "memory", "cc", "r0"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), 4f)
RSEQ_INJECT_ASM(3)
"cmpq %[v], %[expect]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), %l[error1])
[newv] "r" (newv)
: "memory", "cc", "rax"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[eq])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_INJECT_ASM(3)
"movq %[v], %%rbx\n\t"
"cmpq %%rbx, %[expectnot]\n\t"
- "je %l[cmpfail]\n\t"
+ "je %l[eq]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), %l[error1])
[load] "m" (*load)
: "memory", "cc", "rax", "rbx"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, eq
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+eq:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), 4f)
RSEQ_INJECT_ASM(3)
"cmpq %[v], %[expect]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
"cmpq %[v2], %[expect2]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(5)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), %l[error1])
[newv] "r" (newv)
: "memory", "cc", "rax"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2, error3
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), 4f)
RSEQ_INJECT_ASM(3)
"cmpq %[v], %[expect]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), %l[error1])
[newv] "r" (newv)
: "memory", "cc", "rax"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
"movq %[rseq_scratch2], %[len]\n\t"
"movq %[rseq_scratch1], %[dst]\n\t"
"movq %[rseq_scratch0], %[src]\n\t",
- cmpfail)
+ ne)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_CMPFAIL(6,
"movq %[rseq_scratch2], %[len]\n\t"
[rseq_scratch2] "m" (rseq_scratch[2])
: "memory", "cc", "rax"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), 4f)
RSEQ_INJECT_ASM(3)
"cmpl %[v], %[expect]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), %l[error1])
[newv] "r" (newv)
: "memory", "cc", "eax"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[eq])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_INJECT_ASM(3)
"movl %[v], %%ebx\n\t"
"cmpl %%ebx, %[expectnot]\n\t"
- "je %l[cmpfail]\n\t"
+ "je %l[eq]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), %l[error1])
[load] "m" (*load)
: "memory", "cc", "eax", "ebx"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, eq
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+eq:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), 4f)
RSEQ_INJECT_ASM(3)
"cmpl %[v], %[expect]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
"cmpl %[expect2], %[v2]\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(5)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), %l[error1])
[newv] "m" (newv)
: "memory", "cc", "eax"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2, error3
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
RSEQ_INJECT_ASM(3)
"movl %[expect], %%eax\n\t"
"cmpl %[v], %%eax\n\t"
- "jnz %l[cmpfail]\n\t"
+ "jnz %l[ne]\n\t"
RSEQ_INJECT_ASM(4)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_CBNE_CPU_ID(cpu_id, RSEQ_ASM_TP_SEGMENT:RSEQ_TEMPLATE_CPU_ID_OFFSET(%[rseq_offset]), %l[error1])
[newv] "r" (newv)
: "memory", "cc", "eax"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE
__asm__ __volatile__ goto (
RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */
- RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[cmpfail])
+ RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[ne])
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error1])
RSEQ_ASM_DEFINE_EXIT_POINT(1f, %l[error2])
"movl %[rseq_scratch2], %[len]\n\t"
"movl %[rseq_scratch1], %[dst]\n\t"
"movl %[rseq_scratch0], %[src]\n\t",
- cmpfail)
+ ne)
#ifdef RSEQ_COMPARE_TWICE
RSEQ_ASM_DEFINE_CMPFAIL(6,
"movl %[rseq_scratch2], %[len]\n\t"
[rseq_scratch2] "m" (rseq_scratch[2])
: "memory", "cc", "eax"
RSEQ_INJECT_CLOBBER
- : abort, cmpfail
+ : abort, ne
#ifdef RSEQ_COMPARE_TWICE
, error1, error2
#endif
rseq_after_asm_goto();
RSEQ_INJECT_FAILED
return -1;
-cmpfail:
+ne:
rseq_after_asm_goto();
return 1;
#ifdef RSEQ_COMPARE_TWICE