| Jakob Stoklund Olesen | 50ef761 | 2011-09-06 17:40:35 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=armv7-apple-darwin -verify-machineinstrs | FileCheck %s -check-prefix=ARM |
| 2 | ; RUN: llc < %s -mtriple=thumbv7-apple-darwin -verify-machineinstrs | FileCheck %s -check-prefix=T2 |
| Evan Cheng | e1a4ac9 | 2011-02-07 18:50:47 +0000 | [diff] [blame] | 3 | ; rdar://8964854 |
| 4 | |
| 5 | define i8 @t(i8* %a, i8 %b, i8 %c) nounwind { |
| Stephen Lin | d24ab20 | 2013-07-14 06:24:09 +0000 | [diff] [blame] | 6 | ; ARM-LABEL: t: |
| Evan Cheng | e1a4ac9 | 2011-02-07 18:50:47 +0000 | [diff] [blame] | 7 | ; ARM: ldrexb |
| 8 | ; ARM: strexb |
| 9 | |
| Stephen Lin | d24ab20 | 2013-07-14 06:24:09 +0000 | [diff] [blame] | 10 | ; T2-LABEL: t: |
| Evan Cheng | e1a4ac9 | 2011-02-07 18:50:47 +0000 | [diff] [blame] | 11 | ; T2: ldrexb |
| 12 | ; T2: strexb |
| Tim Northover | e94a518 | 2014-03-11 10:48:52 +0000 | [diff] [blame] | 13 | %tmp0 = cmpxchg i8* %a, i8 %b, i8 %c monotonic monotonic |
| Tim Northover | 420a216 | 2014-06-13 14:24:07 +0000 | [diff] [blame] | 14 | %tmp1 = extractvalue { i8, i1 } %tmp0, 0 |
| 15 | ret i8 %tmp1 |
| Evan Cheng | e1a4ac9 | 2011-02-07 18:50:47 +0000 | [diff] [blame] | 16 | } |