572 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --filter-out "\b(sp)\b" --filter "^\s*(ld|st[^r]|swp|cas|bl|add|and|eor|orn|orr|sub|mvn|sxt|cmp|ccmp|csel|dmb)"2; The base test file was generated by ./llvm/test/CodeGen/AArch64/Atomics/generate-tests.py3; RUN: llc %s -o - -verify-machineinstrs -mtriple=aarch64_be -mattr=+lse2 -O0 | FileCheck %s --check-prefixes=CHECK,-O04; RUN: llc %s -o - -verify-machineinstrs -mtriple=aarch64_be -mattr=+lse2 -O1 | FileCheck %s --check-prefixes=CHECK,-O15 6define dso_local i8 @load_atomic_i8_aligned_unordered(ptr %ptr) {7; CHECK-LABEL: load_atomic_i8_aligned_unordered:8; CHECK: ldrb w0, [x0]9 %r = load atomic i8, ptr %ptr unordered, align 110 ret i8 %r11}12 13define dso_local i8 @load_atomic_i8_aligned_unordered_const(ptr readonly %ptr) {14; CHECK-LABEL: load_atomic_i8_aligned_unordered_const:15; CHECK: ldrb w0, [x0]16 %r = load atomic i8, ptr %ptr unordered, align 117 ret i8 %r18}19 20define dso_local i8 @load_atomic_i8_aligned_monotonic(ptr %ptr) {21; CHECK-LABEL: load_atomic_i8_aligned_monotonic:22; CHECK: ldrb w0, [x0]23 %r = load atomic i8, ptr %ptr monotonic, align 124 ret i8 %r25}26 27define dso_local i8 @load_atomic_i8_aligned_monotonic_const(ptr readonly %ptr) {28; CHECK-LABEL: load_atomic_i8_aligned_monotonic_const:29; CHECK: ldrb w0, [x0]30 %r = load atomic i8, ptr %ptr monotonic, align 131 ret i8 %r32}33 34define dso_local i8 @load_atomic_i8_aligned_acquire(ptr %ptr) {35; CHECK-LABEL: load_atomic_i8_aligned_acquire:36; CHECK: ldarb w0, [x0]37 %r = load atomic i8, ptr %ptr acquire, align 138 ret i8 %r39}40 41define dso_local i8 @load_atomic_i8_aligned_acquire_const(ptr readonly %ptr) {42; CHECK-LABEL: load_atomic_i8_aligned_acquire_const:43; CHECK: ldarb w0, [x0]44 %r = load atomic i8, ptr %ptr acquire, align 145 ret i8 %r46}47 48define dso_local i8 @load_atomic_i8_aligned_seq_cst(ptr %ptr) {49; CHECK-LABEL: load_atomic_i8_aligned_seq_cst:50; CHECK: ldarb w0, [x0]51 %r = load atomic i8, ptr %ptr seq_cst, align 152 ret i8 %r53}54 55define dso_local i8 @load_atomic_i8_aligned_seq_cst_const(ptr readonly %ptr) {56; CHECK-LABEL: load_atomic_i8_aligned_seq_cst_const:57; CHECK: ldarb w0, [x0]58 %r = load atomic i8, ptr %ptr seq_cst, align 159 ret i8 %r60}61 62define dso_local i16 @load_atomic_i16_aligned_unordered(ptr %ptr) {63; CHECK-LABEL: load_atomic_i16_aligned_unordered:64; CHECK: ldrh w0, [x0]65 %r = load atomic i16, ptr %ptr unordered, align 266 ret i16 %r67}68 69define dso_local i16 @load_atomic_i16_aligned_unordered_const(ptr readonly %ptr) {70; CHECK-LABEL: load_atomic_i16_aligned_unordered_const:71; CHECK: ldrh w0, [x0]72 %r = load atomic i16, ptr %ptr unordered, align 273 ret i16 %r74}75 76define dso_local i16 @load_atomic_i16_aligned_monotonic(ptr %ptr) {77; CHECK-LABEL: load_atomic_i16_aligned_monotonic:78; CHECK: ldrh w0, [x0]79 %r = load atomic i16, ptr %ptr monotonic, align 280 ret i16 %r81}82 83define dso_local i16 @load_atomic_i16_aligned_monotonic_const(ptr readonly %ptr) {84; CHECK-LABEL: load_atomic_i16_aligned_monotonic_const:85; CHECK: ldrh w0, [x0]86 %r = load atomic i16, ptr %ptr monotonic, align 287 ret i16 %r88}89 90define dso_local i16 @load_atomic_i16_aligned_acquire(ptr %ptr) {91; CHECK-LABEL: load_atomic_i16_aligned_acquire:92; CHECK: ldarh w0, [x0]93 %r = load atomic i16, ptr %ptr acquire, align 294 ret i16 %r95}96 97define dso_local i16 @load_atomic_i16_aligned_acquire_const(ptr readonly %ptr) {98; CHECK-LABEL: load_atomic_i16_aligned_acquire_const:99; CHECK: ldarh w0, [x0]100 %r = load atomic i16, ptr %ptr acquire, align 2101 ret i16 %r102}103 104define dso_local i16 @load_atomic_i16_aligned_seq_cst(ptr %ptr) {105; CHECK-LABEL: load_atomic_i16_aligned_seq_cst:106; CHECK: ldarh w0, [x0]107 %r = load atomic i16, ptr %ptr seq_cst, align 2108 ret i16 %r109}110 111define dso_local i16 @load_atomic_i16_aligned_seq_cst_const(ptr readonly %ptr) {112; CHECK-LABEL: load_atomic_i16_aligned_seq_cst_const:113; CHECK: ldarh w0, [x0]114 %r = load atomic i16, ptr %ptr seq_cst, align 2115 ret i16 %r116}117 118define dso_local i32 @load_atomic_i32_aligned_unordered(ptr %ptr) {119; CHECK-LABEL: load_atomic_i32_aligned_unordered:120; CHECK: ldr w0, [x0]121 %r = load atomic i32, ptr %ptr unordered, align 4122 ret i32 %r123}124 125define dso_local i32 @load_atomic_i32_aligned_unordered_const(ptr readonly %ptr) {126; CHECK-LABEL: load_atomic_i32_aligned_unordered_const:127; CHECK: ldr w0, [x0]128 %r = load atomic i32, ptr %ptr unordered, align 4129 ret i32 %r130}131 132define dso_local i32 @load_atomic_i32_aligned_monotonic(ptr %ptr) {133; CHECK-LABEL: load_atomic_i32_aligned_monotonic:134; CHECK: ldr w0, [x0]135 %r = load atomic i32, ptr %ptr monotonic, align 4136 ret i32 %r137}138 139define dso_local i32 @load_atomic_i32_aligned_monotonic_const(ptr readonly %ptr) {140; CHECK-LABEL: load_atomic_i32_aligned_monotonic_const:141; CHECK: ldr w0, [x0]142 %r = load atomic i32, ptr %ptr monotonic, align 4143 ret i32 %r144}145 146define dso_local i32 @load_atomic_i32_aligned_acquire(ptr %ptr) {147; CHECK-LABEL: load_atomic_i32_aligned_acquire:148; CHECK: ldar w0, [x0]149 %r = load atomic i32, ptr %ptr acquire, align 4150 ret i32 %r151}152 153define dso_local i32 @load_atomic_i32_aligned_acquire_const(ptr readonly %ptr) {154; CHECK-LABEL: load_atomic_i32_aligned_acquire_const:155; CHECK: ldar w0, [x0]156 %r = load atomic i32, ptr %ptr acquire, align 4157 ret i32 %r158}159 160define dso_local i32 @load_atomic_i32_aligned_seq_cst(ptr %ptr) {161; CHECK-LABEL: load_atomic_i32_aligned_seq_cst:162; CHECK: ldar w0, [x0]163 %r = load atomic i32, ptr %ptr seq_cst, align 4164 ret i32 %r165}166 167define dso_local i32 @load_atomic_i32_aligned_seq_cst_const(ptr readonly %ptr) {168; CHECK-LABEL: load_atomic_i32_aligned_seq_cst_const:169; CHECK: ldar w0, [x0]170 %r = load atomic i32, ptr %ptr seq_cst, align 4171 ret i32 %r172}173 174define dso_local i64 @load_atomic_i64_aligned_unordered(ptr %ptr) {175; CHECK-LABEL: load_atomic_i64_aligned_unordered:176; CHECK: ldr x0, [x0]177 %r = load atomic i64, ptr %ptr unordered, align 8178 ret i64 %r179}180 181define dso_local i64 @load_atomic_i64_aligned_unordered_const(ptr readonly %ptr) {182; CHECK-LABEL: load_atomic_i64_aligned_unordered_const:183; CHECK: ldr x0, [x0]184 %r = load atomic i64, ptr %ptr unordered, align 8185 ret i64 %r186}187 188define dso_local i64 @load_atomic_i64_aligned_monotonic(ptr %ptr) {189; CHECK-LABEL: load_atomic_i64_aligned_monotonic:190; CHECK: ldr x0, [x0]191 %r = load atomic i64, ptr %ptr monotonic, align 8192 ret i64 %r193}194 195define dso_local i64 @load_atomic_i64_aligned_monotonic_const(ptr readonly %ptr) {196; CHECK-LABEL: load_atomic_i64_aligned_monotonic_const:197; CHECK: ldr x0, [x0]198 %r = load atomic i64, ptr %ptr monotonic, align 8199 ret i64 %r200}201 202define dso_local i64 @load_atomic_i64_aligned_acquire(ptr %ptr) {203; CHECK-LABEL: load_atomic_i64_aligned_acquire:204; CHECK: ldar x0, [x0]205 %r = load atomic i64, ptr %ptr acquire, align 8206 ret i64 %r207}208 209define dso_local i64 @load_atomic_i64_aligned_acquire_const(ptr readonly %ptr) {210; CHECK-LABEL: load_atomic_i64_aligned_acquire_const:211; CHECK: ldar x0, [x0]212 %r = load atomic i64, ptr %ptr acquire, align 8213 ret i64 %r214}215 216define dso_local i64 @load_atomic_i64_aligned_seq_cst(ptr %ptr) {217; CHECK-LABEL: load_atomic_i64_aligned_seq_cst:218; CHECK: ldar x0, [x0]219 %r = load atomic i64, ptr %ptr seq_cst, align 8220 ret i64 %r221}222 223define dso_local i64 @load_atomic_i64_aligned_seq_cst_const(ptr readonly %ptr) {224; CHECK-LABEL: load_atomic_i64_aligned_seq_cst_const:225; CHECK: ldar x0, [x0]226 %r = load atomic i64, ptr %ptr seq_cst, align 8227 ret i64 %r228}229 230define dso_local i128 @load_atomic_i128_aligned_unordered(ptr %ptr) {231; CHECK-LABEL: load_atomic_i128_aligned_unordered:232; CHECK: ldp x0, x1, [x0]233 %r = load atomic i128, ptr %ptr unordered, align 16234 ret i128 %r235}236 237define dso_local i128 @load_atomic_i128_aligned_unordered_const(ptr readonly %ptr) {238; CHECK-LABEL: load_atomic_i128_aligned_unordered_const:239; CHECK: ldp x0, x1, [x0]240 %r = load atomic i128, ptr %ptr unordered, align 16241 ret i128 %r242}243 244define dso_local i128 @load_atomic_i128_aligned_monotonic(ptr %ptr) {245; CHECK-LABEL: load_atomic_i128_aligned_monotonic:246; CHECK: ldp x0, x1, [x0]247 %r = load atomic i128, ptr %ptr monotonic, align 16248 ret i128 %r249}250 251define dso_local i128 @load_atomic_i128_aligned_monotonic_const(ptr readonly %ptr) {252; CHECK-LABEL: load_atomic_i128_aligned_monotonic_const:253; CHECK: ldp x0, x1, [x0]254 %r = load atomic i128, ptr %ptr monotonic, align 16255 ret i128 %r256}257 258define dso_local i128 @load_atomic_i128_aligned_acquire(ptr %ptr) {259; CHECK-LABEL: load_atomic_i128_aligned_acquire:260; CHECK: ldp x0, x1, [x0]261; CHECK: dmb ishld262 %r = load atomic i128, ptr %ptr acquire, align 16263 ret i128 %r264}265 266define dso_local i128 @load_atomic_i128_aligned_acquire_const(ptr readonly %ptr) {267; CHECK-LABEL: load_atomic_i128_aligned_acquire_const:268; CHECK: ldp x0, x1, [x0]269; CHECK: dmb ishld270 %r = load atomic i128, ptr %ptr acquire, align 16271 ret i128 %r272}273 274define dso_local i128 @load_atomic_i128_aligned_seq_cst(ptr %ptr) {275; CHECK-LABEL: load_atomic_i128_aligned_seq_cst:276; CHECK: ldp x0, x1, [x0]277; CHECK: dmb ish278 %r = load atomic i128, ptr %ptr seq_cst, align 16279 ret i128 %r280}281 282define dso_local i128 @load_atomic_i128_aligned_seq_cst_const(ptr readonly %ptr) {283; CHECK-LABEL: load_atomic_i128_aligned_seq_cst_const:284; CHECK: ldp x0, x1, [x0]285; CHECK: dmb ish286 %r = load atomic i128, ptr %ptr seq_cst, align 16287 ret i128 %r288}289 290define dso_local i8 @load_atomic_i8_unaligned_unordered(ptr %ptr) {291; CHECK-LABEL: load_atomic_i8_unaligned_unordered:292; CHECK: ldrb w0, [x0]293 %r = load atomic i8, ptr %ptr unordered, align 1294 ret i8 %r295}296 297define dso_local i8 @load_atomic_i8_unaligned_unordered_const(ptr readonly %ptr) {298; CHECK-LABEL: load_atomic_i8_unaligned_unordered_const:299; CHECK: ldrb w0, [x0]300 %r = load atomic i8, ptr %ptr unordered, align 1301 ret i8 %r302}303 304define dso_local i8 @load_atomic_i8_unaligned_monotonic(ptr %ptr) {305; CHECK-LABEL: load_atomic_i8_unaligned_monotonic:306; CHECK: ldrb w0, [x0]307 %r = load atomic i8, ptr %ptr monotonic, align 1308 ret i8 %r309}310 311define dso_local i8 @load_atomic_i8_unaligned_monotonic_const(ptr readonly %ptr) {312; CHECK-LABEL: load_atomic_i8_unaligned_monotonic_const:313; CHECK: ldrb w0, [x0]314 %r = load atomic i8, ptr %ptr monotonic, align 1315 ret i8 %r316}317 318define dso_local i8 @load_atomic_i8_unaligned_acquire(ptr %ptr) {319; CHECK-LABEL: load_atomic_i8_unaligned_acquire:320; CHECK: ldarb w0, [x0]321 %r = load atomic i8, ptr %ptr acquire, align 1322 ret i8 %r323}324 325define dso_local i8 @load_atomic_i8_unaligned_acquire_const(ptr readonly %ptr) {326; CHECK-LABEL: load_atomic_i8_unaligned_acquire_const:327; CHECK: ldarb w0, [x0]328 %r = load atomic i8, ptr %ptr acquire, align 1329 ret i8 %r330}331 332define dso_local i8 @load_atomic_i8_unaligned_seq_cst(ptr %ptr) {333; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst:334; CHECK: ldarb w0, [x0]335 %r = load atomic i8, ptr %ptr seq_cst, align 1336 ret i8 %r337}338 339define dso_local i8 @load_atomic_i8_unaligned_seq_cst_const(ptr readonly %ptr) {340; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst_const:341; CHECK: ldarb w0, [x0]342 %r = load atomic i8, ptr %ptr seq_cst, align 1343 ret i8 %r344}345 346define dso_local i16 @load_atomic_i16_unaligned_unordered(ptr %ptr) {347; CHECK-LABEL: load_atomic_i16_unaligned_unordered:348; CHECK: bl __atomic_load349 %r = load atomic i16, ptr %ptr unordered, align 1350 ret i16 %r351}352 353define dso_local i16 @load_atomic_i16_unaligned_unordered_const(ptr readonly %ptr) {354; CHECK-LABEL: load_atomic_i16_unaligned_unordered_const:355; CHECK: bl __atomic_load356 %r = load atomic i16, ptr %ptr unordered, align 1357 ret i16 %r358}359 360define dso_local i16 @load_atomic_i16_unaligned_monotonic(ptr %ptr) {361; CHECK-LABEL: load_atomic_i16_unaligned_monotonic:362; CHECK: bl __atomic_load363 %r = load atomic i16, ptr %ptr monotonic, align 1364 ret i16 %r365}366 367define dso_local i16 @load_atomic_i16_unaligned_monotonic_const(ptr readonly %ptr) {368; CHECK-LABEL: load_atomic_i16_unaligned_monotonic_const:369; CHECK: bl __atomic_load370 %r = load atomic i16, ptr %ptr monotonic, align 1371 ret i16 %r372}373 374define dso_local i16 @load_atomic_i16_unaligned_acquire(ptr %ptr) {375; CHECK-LABEL: load_atomic_i16_unaligned_acquire:376; CHECK: bl __atomic_load377 %r = load atomic i16, ptr %ptr acquire, align 1378 ret i16 %r379}380 381define dso_local i16 @load_atomic_i16_unaligned_acquire_const(ptr readonly %ptr) {382; CHECK-LABEL: load_atomic_i16_unaligned_acquire_const:383; CHECK: bl __atomic_load384 %r = load atomic i16, ptr %ptr acquire, align 1385 ret i16 %r386}387 388define dso_local i16 @load_atomic_i16_unaligned_seq_cst(ptr %ptr) {389; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst:390; CHECK: bl __atomic_load391 %r = load atomic i16, ptr %ptr seq_cst, align 1392 ret i16 %r393}394 395define dso_local i16 @load_atomic_i16_unaligned_seq_cst_const(ptr readonly %ptr) {396; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst_const:397; CHECK: bl __atomic_load398 %r = load atomic i16, ptr %ptr seq_cst, align 1399 ret i16 %r400}401 402define dso_local i32 @load_atomic_i32_unaligned_unordered(ptr %ptr) {403; CHECK-LABEL: load_atomic_i32_unaligned_unordered:404; CHECK: bl __atomic_load405 %r = load atomic i32, ptr %ptr unordered, align 1406 ret i32 %r407}408 409define dso_local i32 @load_atomic_i32_unaligned_unordered_const(ptr readonly %ptr) {410; CHECK-LABEL: load_atomic_i32_unaligned_unordered_const:411; CHECK: bl __atomic_load412 %r = load atomic i32, ptr %ptr unordered, align 1413 ret i32 %r414}415 416define dso_local i32 @load_atomic_i32_unaligned_monotonic(ptr %ptr) {417; CHECK-LABEL: load_atomic_i32_unaligned_monotonic:418; CHECK: bl __atomic_load419 %r = load atomic i32, ptr %ptr monotonic, align 1420 ret i32 %r421}422 423define dso_local i32 @load_atomic_i32_unaligned_monotonic_const(ptr readonly %ptr) {424; CHECK-LABEL: load_atomic_i32_unaligned_monotonic_const:425; CHECK: bl __atomic_load426 %r = load atomic i32, ptr %ptr monotonic, align 1427 ret i32 %r428}429 430define dso_local i32 @load_atomic_i32_unaligned_acquire(ptr %ptr) {431; CHECK-LABEL: load_atomic_i32_unaligned_acquire:432; CHECK: bl __atomic_load433 %r = load atomic i32, ptr %ptr acquire, align 1434 ret i32 %r435}436 437define dso_local i32 @load_atomic_i32_unaligned_acquire_const(ptr readonly %ptr) {438; CHECK-LABEL: load_atomic_i32_unaligned_acquire_const:439; CHECK: bl __atomic_load440 %r = load atomic i32, ptr %ptr acquire, align 1441 ret i32 %r442}443 444define dso_local i32 @load_atomic_i32_unaligned_seq_cst(ptr %ptr) {445; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst:446; CHECK: bl __atomic_load447 %r = load atomic i32, ptr %ptr seq_cst, align 1448 ret i32 %r449}450 451define dso_local i32 @load_atomic_i32_unaligned_seq_cst_const(ptr readonly %ptr) {452; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst_const:453; CHECK: bl __atomic_load454 %r = load atomic i32, ptr %ptr seq_cst, align 1455 ret i32 %r456}457 458define dso_local i64 @load_atomic_i64_unaligned_unordered(ptr %ptr) {459; CHECK-LABEL: load_atomic_i64_unaligned_unordered:460; CHECK: bl __atomic_load461 %r = load atomic i64, ptr %ptr unordered, align 1462 ret i64 %r463}464 465define dso_local i64 @load_atomic_i64_unaligned_unordered_const(ptr readonly %ptr) {466; CHECK-LABEL: load_atomic_i64_unaligned_unordered_const:467; CHECK: bl __atomic_load468 %r = load atomic i64, ptr %ptr unordered, align 1469 ret i64 %r470}471 472define dso_local i64 @load_atomic_i64_unaligned_monotonic(ptr %ptr) {473; CHECK-LABEL: load_atomic_i64_unaligned_monotonic:474; CHECK: bl __atomic_load475 %r = load atomic i64, ptr %ptr monotonic, align 1476 ret i64 %r477}478 479define dso_local i64 @load_atomic_i64_unaligned_monotonic_const(ptr readonly %ptr) {480; CHECK-LABEL: load_atomic_i64_unaligned_monotonic_const:481; CHECK: bl __atomic_load482 %r = load atomic i64, ptr %ptr monotonic, align 1483 ret i64 %r484}485 486define dso_local i64 @load_atomic_i64_unaligned_acquire(ptr %ptr) {487; CHECK-LABEL: load_atomic_i64_unaligned_acquire:488; CHECK: bl __atomic_load489 %r = load atomic i64, ptr %ptr acquire, align 1490 ret i64 %r491}492 493define dso_local i64 @load_atomic_i64_unaligned_acquire_const(ptr readonly %ptr) {494; CHECK-LABEL: load_atomic_i64_unaligned_acquire_const:495; CHECK: bl __atomic_load496 %r = load atomic i64, ptr %ptr acquire, align 1497 ret i64 %r498}499 500define dso_local i64 @load_atomic_i64_unaligned_seq_cst(ptr %ptr) {501; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst:502; CHECK: bl __atomic_load503 %r = load atomic i64, ptr %ptr seq_cst, align 1504 ret i64 %r505}506 507define dso_local i64 @load_atomic_i64_unaligned_seq_cst_const(ptr readonly %ptr) {508; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst_const:509; CHECK: bl __atomic_load510 %r = load atomic i64, ptr %ptr seq_cst, align 1511 ret i64 %r512}513 514define dso_local i128 @load_atomic_i128_unaligned_unordered(ptr %ptr) {515; CHECK-LABEL: load_atomic_i128_unaligned_unordered:516; CHECK: bl __atomic_load517 %r = load atomic i128, ptr %ptr unordered, align 1518 ret i128 %r519}520 521define dso_local i128 @load_atomic_i128_unaligned_unordered_const(ptr readonly %ptr) {522; CHECK-LABEL: load_atomic_i128_unaligned_unordered_const:523; CHECK: bl __atomic_load524 %r = load atomic i128, ptr %ptr unordered, align 1525 ret i128 %r526}527 528define dso_local i128 @load_atomic_i128_unaligned_monotonic(ptr %ptr) {529; CHECK-LABEL: load_atomic_i128_unaligned_monotonic:530; CHECK: bl __atomic_load531 %r = load atomic i128, ptr %ptr monotonic, align 1532 ret i128 %r533}534 535define dso_local i128 @load_atomic_i128_unaligned_monotonic_const(ptr readonly %ptr) {536; CHECK-LABEL: load_atomic_i128_unaligned_monotonic_const:537; CHECK: bl __atomic_load538 %r = load atomic i128, ptr %ptr monotonic, align 1539 ret i128 %r540}541 542define dso_local i128 @load_atomic_i128_unaligned_acquire(ptr %ptr) {543; CHECK-LABEL: load_atomic_i128_unaligned_acquire:544; CHECK: bl __atomic_load545 %r = load atomic i128, ptr %ptr acquire, align 1546 ret i128 %r547}548 549define dso_local i128 @load_atomic_i128_unaligned_acquire_const(ptr readonly %ptr) {550; CHECK-LABEL: load_atomic_i128_unaligned_acquire_const:551; CHECK: bl __atomic_load552 %r = load atomic i128, ptr %ptr acquire, align 1553 ret i128 %r554}555 556define dso_local i128 @load_atomic_i128_unaligned_seq_cst(ptr %ptr) {557; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst:558; CHECK: bl __atomic_load559 %r = load atomic i128, ptr %ptr seq_cst, align 1560 ret i128 %r561}562 563define dso_local i128 @load_atomic_i128_unaligned_seq_cst_const(ptr readonly %ptr) {564; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst_const:565; CHECK: bl __atomic_load566 %r = load atomic i128, ptr %ptr seq_cst, align 1567 ret i128 %r568}569;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:570; -O0: {{.*}}571; -O1: {{.*}}572