1 1.1 christos /* This file is part of GDB, the GNU debugger. 2 1.1 christos 3 1.1.1.5 christos Copyright 2017-2024 Free Software Foundation, Inc. 4 1.1 christos 5 1.1 christos This program is free software; you can redistribute it and/or modify 6 1.1 christos it under the terms of the GNU General Public License as published by 7 1.1 christos the Free Software Foundation; either version 3 of the License, or 8 1.1 christos (at your option) any later version. 9 1.1 christos 10 1.1 christos This program is distributed in the hope that it will be useful, 11 1.1 christos but WITHOUT ANY WARRANTY; without even the implied warranty of 12 1.1 christos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 1.1 christos GNU General Public License for more details. 14 1.1 christos 15 1.1 christos You should have received a copy of the GNU General Public License 16 1.1 christos along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 1.1 christos 18 1.1 christos .align 2 19 1.1 christos .globl test_atomic_sequences 20 1.1 christos #if _CALL_ELF == 2 21 1.1 christos .type test_atomic_sequences,@function 22 1.1 christos test_atomic_sequences: 23 1.1 christos #else 24 1.1 christos .section ".opd","aw" 25 1.1 christos .align 3 26 1.1 christos test_atomic_sequences: 27 1.1 christos .quad .test_atomic_sequences,.TOC.@tocbase,0 28 1.1 christos .size test_atomic_sequences,.-test_atomic_sequences 29 1.1 christos .previous 30 1.1 christos .globl .test_atomic_sequences 31 1.1 christos .type .test_atomic_sequences,@function 32 1.1 christos .test_atomic_sequences: 33 1.1 christos #endif 34 1.1 christos 35 1.1 christos li 0,0 36 1.1 christos addi 4,1,-8 37 1.1 christos 38 1.1 christos stb 0,0(4) 39 1.1 christos 1: lbarx 5,0,4 40 1.1 christos cmpdi 5,0 41 1.1 christos bne 2f 42 1.1 christos addi 5,5,1 43 1.1 christos stbcx. 5,0,4 44 1.1 christos bne 1b 45 1.1 christos 46 1.1 christos sth 0,0(4) 47 1.1 christos 2: lharx 5,0,4 48 1.1 christos cmpdi 5,0 49 1.1 christos bne 3f 50 1.1 christos addi 5,5,1 51 1.1 christos sthcx. 5,0,4 52 1.1 christos bne 2b 53 1.1 christos 54 1.1 christos #ifdef __BIG_ENDIAN__ 55 1.1 christos li 10,0 56 1.1 christos li 6,0 57 1.1 christos li 7,1 58 1.1 christos std 10,-16(1) 59 1.1 christos li 10,1 60 1.1 christos std 10,-8(1) 61 1.1 christos addi 4,1,-16 62 1.1 christos #else 63 1.1 christos std 9,40(1) 64 1.1 christos li 9,1 65 1.1 christos addi 4,1,32 66 1.1 christos std 9,32(1) 67 1.1 christos mr 8,9 68 1.1 christos ld 3,8(4) 69 1.1 christos #endif 70 1.1 christos 3: lqarx 10,0,4 71 1.1 christos #ifdef __BIG_ENDIAN__ 72 1.1 christos li 8,0 73 1.1 christos li 9,2 74 1.1 christos mr 5,10 75 1.1 christos xor 10,11,7 76 1.1 christos xor 5,5,6 77 1.1 christos or. 4,5,10 78 1.1 christos bne 4f 79 1.1 christos addi 10,1,-16 80 1.1 christos stqcx. 8,0,10 81 1.1 christos #else 82 1.1 christos xor 9,11,8 83 1.1 christos mr 6,11 84 1.1 christos xor 11,10,3 85 1.1 christos or. 0,9,11 86 1.1 christos bne 4f 87 1.1 christos li 14,0 88 1.1 christos li 15,2 89 1.1 christos stqcx. 14,0,4 90 1.1 christos #endif 91 1.1 christos bne 3b 92 1.1 christos 93 1.1 christos 4: li 3,0 94 1.1 christos blr 95 1.1 christos 96 1.1 christos #if _CALL_ELF == 2 97 1.1 christos .size test_atomic_sequences,.-test_atomic_sequences 98 1.1 christos #else 99 1.1 christos .size .test_atomic_sequences,.-.test_atomic_sequences 100 1.1 christos #endif 101 1.1.1.4 christos .section .note.GNU-stack,"",@progbits 102