diff options
Diffstat (limited to 'meta-xilinx-bsp/recipes-microblaze/gcc/gcc-9/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch')
-rw-r--r-- | meta-xilinx-bsp/recipes-microblaze/gcc/gcc-9/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-9/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-9/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch new file mode 100644 index 00000000..07a43177 --- /dev/null +++ b/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-9/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | From 65bc1969bd652df4bf9d01d30547a947da293550 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Thu, 12 Jan 2017 16:45:45 +0530 | ||
4 | Subject: [PATCH 10/63] [Patch, microblaze]: Fix atomic boolean return value. | ||
5 | In atomic_compare_and_swapsi, fix boolean return value. Previously, it | ||
6 | contained zero if successful and non-zero if unsuccessful. | ||
7 | |||
8 | Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com> | ||
9 | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> | ||
10 | --- | ||
11 | gcc/config/microblaze/sync.md | 7 ++++--- | ||
12 | 1 file changed, 4 insertions(+), 3 deletions(-) | ||
13 | |||
14 | diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md | ||
15 | index bebab5c..72eac09 100644 | ||
16 | --- a/gcc/config/microblaze/sync.md | ||
17 | +++ b/gcc/config/microblaze/sync.md | ||
18 | @@ -34,15 +34,16 @@ | ||
19 | (clobber (match_scratch:SI 8 "=&d"))] | ||
20 | "" | ||
21 | { | ||
22 | - output_asm_insn ("addc \tr0,r0,r0", operands); | ||
23 | + output_asm_insn ("add \t%0,r0,r0", operands); | ||
24 | output_asm_insn ("lwx \t%1,%y2,r0", operands); | ||
25 | output_asm_insn ("addic\t%8,r0,0", operands); | ||
26 | output_asm_insn ("bnei \t%8,.-8", operands); | ||
27 | - output_asm_insn ("cmp \t%0,%1,%3", operands); | ||
28 | - output_asm_insn ("bnei \t%0,.+16", operands); | ||
29 | + output_asm_insn ("cmp \t%8,%1,%3", operands); | ||
30 | + output_asm_insn ("bnei \t%8,.+20", operands); | ||
31 | output_asm_insn ("swx \t%4,%y2,r0", operands); | ||
32 | output_asm_insn ("addic\t%8,r0,0", operands); | ||
33 | output_asm_insn ("bnei \t%8,.-28", operands); | ||
34 | + output_asm_insn ("addi \t%0,r0,1", operands); | ||
35 | return ""; | ||
36 | } | ||
37 | ) | ||
38 | -- | ||
39 | 2.7.4 | ||
40 | |||