comparison test/CodeGen/AArch64/arm64-atomic-128.ll @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 60c9769439b8
children 7d135dc70f03
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
167 define i128 @atomic_load_seq_cst(i128* %p) { 167 define i128 @atomic_load_seq_cst(i128* %p) {
168 ; CHECK-LABEL: atomic_load_seq_cst: 168 ; CHECK-LABEL: atomic_load_seq_cst:
169 ; CHECK-NOT: dmb 169 ; CHECK-NOT: dmb
170 ; CHECK-LABEL: ldaxp 170 ; CHECK-LABEL: ldaxp
171 ; CHECK-NOT: dmb 171 ; CHECK-NOT: dmb
172 %r = load atomic i128* %p seq_cst, align 16 172 %r = load atomic i128, i128* %p seq_cst, align 16
173 ret i128 %r 173 ret i128 %r
174 } 174 }
175 175
176 define i128 @atomic_load_relaxed(i128* %p) { 176 define i128 @atomic_load_relaxed(i128* %p) {
177 ; CHECK-LABEL: atomic_load_relaxed: 177 ; CHECK-LABEL: atomic_load_relaxed:
178 ; CHECK-NOT: dmb 178 ; CHECK-NOT: dmb
179 ; CHECK: ldxp [[LO:x[0-9]+]], [[HI:x[0-9]+]], [x0] 179 ; CHECK: ldxp [[LO:x[0-9]+]], [[HI:x[0-9]+]], [x0]
180 ; CHECK-NOT: dmb 180 ; CHECK-NOT: dmb
181 %r = load atomic i128* %p monotonic, align 16 181 %r = load atomic i128, i128* %p monotonic, align 16
182 ret i128 %r 182 ret i128 %r
183 } 183 }
184 184
185 185
186 define void @atomic_store_seq_cst(i128 %in, i128* %p) { 186 define void @atomic_store_seq_cst(i128 %in, i128* %p) {