brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.5 KiB · de83b70 Raw
570 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,+rcpc3 -O0 | FileCheck %s --check-prefixes=CHECK,-O04; RUN: llc %s -o - -verify-machineinstrs -mtriple=aarch64_be -mattr=+lse2,+rcpc3 -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:    ldaprb 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:    ldaprb 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:    ldaprh 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:    ldaprh 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:    ldapr 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:    ldapr 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:    ldapr 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:    ldapr 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:    ldiapp x0, x1, [x0]261    %r = load atomic i128, ptr %ptr acquire, align 16262    ret i128 %r263}264 265define dso_local i128 @load_atomic_i128_aligned_acquire_const(ptr readonly %ptr) {266; CHECK-LABEL: load_atomic_i128_aligned_acquire_const:267; CHECK:    ldiapp x0, x1, [x0]268    %r = load atomic i128, ptr %ptr acquire, align 16269    ret i128 %r270}271 272define dso_local i128 @load_atomic_i128_aligned_seq_cst(ptr %ptr) {273; CHECK-LABEL: load_atomic_i128_aligned_seq_cst:274; CHECK:    ldp x0, x1, [x0]275; CHECK:    dmb ish276    %r = load atomic i128, ptr %ptr seq_cst, align 16277    ret i128 %r278}279 280define dso_local i128 @load_atomic_i128_aligned_seq_cst_const(ptr readonly %ptr) {281; CHECK-LABEL: load_atomic_i128_aligned_seq_cst_const:282; CHECK:    ldp x0, x1, [x0]283; CHECK:    dmb ish284    %r = load atomic i128, ptr %ptr seq_cst, align 16285    ret i128 %r286}287 288define dso_local i8 @load_atomic_i8_unaligned_unordered(ptr %ptr) {289; CHECK-LABEL: load_atomic_i8_unaligned_unordered:290; CHECK:    ldrb w0, [x0]291    %r = load atomic i8, ptr %ptr unordered, align 1292    ret i8 %r293}294 295define dso_local i8 @load_atomic_i8_unaligned_unordered_const(ptr readonly %ptr) {296; CHECK-LABEL: load_atomic_i8_unaligned_unordered_const:297; CHECK:    ldrb w0, [x0]298    %r = load atomic i8, ptr %ptr unordered, align 1299    ret i8 %r300}301 302define dso_local i8 @load_atomic_i8_unaligned_monotonic(ptr %ptr) {303; CHECK-LABEL: load_atomic_i8_unaligned_monotonic:304; CHECK:    ldrb w0, [x0]305    %r = load atomic i8, ptr %ptr monotonic, align 1306    ret i8 %r307}308 309define dso_local i8 @load_atomic_i8_unaligned_monotonic_const(ptr readonly %ptr) {310; CHECK-LABEL: load_atomic_i8_unaligned_monotonic_const:311; CHECK:    ldrb w0, [x0]312    %r = load atomic i8, ptr %ptr monotonic, align 1313    ret i8 %r314}315 316define dso_local i8 @load_atomic_i8_unaligned_acquire(ptr %ptr) {317; CHECK-LABEL: load_atomic_i8_unaligned_acquire:318; CHECK:    ldaprb w0, [x0]319    %r = load atomic i8, ptr %ptr acquire, align 1320    ret i8 %r321}322 323define dso_local i8 @load_atomic_i8_unaligned_acquire_const(ptr readonly %ptr) {324; CHECK-LABEL: load_atomic_i8_unaligned_acquire_const:325; CHECK:    ldaprb w0, [x0]326    %r = load atomic i8, ptr %ptr acquire, align 1327    ret i8 %r328}329 330define dso_local i8 @load_atomic_i8_unaligned_seq_cst(ptr %ptr) {331; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst:332; CHECK:    ldarb w0, [x0]333    %r = load atomic i8, ptr %ptr seq_cst, align 1334    ret i8 %r335}336 337define dso_local i8 @load_atomic_i8_unaligned_seq_cst_const(ptr readonly %ptr) {338; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst_const:339; CHECK:    ldarb w0, [x0]340    %r = load atomic i8, ptr %ptr seq_cst, align 1341    ret i8 %r342}343 344define dso_local i16 @load_atomic_i16_unaligned_unordered(ptr %ptr) {345; CHECK-LABEL: load_atomic_i16_unaligned_unordered:346; CHECK:    bl __atomic_load347    %r = load atomic i16, ptr %ptr unordered, align 1348    ret i16 %r349}350 351define dso_local i16 @load_atomic_i16_unaligned_unordered_const(ptr readonly %ptr) {352; CHECK-LABEL: load_atomic_i16_unaligned_unordered_const:353; CHECK:    bl __atomic_load354    %r = load atomic i16, ptr %ptr unordered, align 1355    ret i16 %r356}357 358define dso_local i16 @load_atomic_i16_unaligned_monotonic(ptr %ptr) {359; CHECK-LABEL: load_atomic_i16_unaligned_monotonic:360; CHECK:    bl __atomic_load361    %r = load atomic i16, ptr %ptr monotonic, align 1362    ret i16 %r363}364 365define dso_local i16 @load_atomic_i16_unaligned_monotonic_const(ptr readonly %ptr) {366; CHECK-LABEL: load_atomic_i16_unaligned_monotonic_const:367; CHECK:    bl __atomic_load368    %r = load atomic i16, ptr %ptr monotonic, align 1369    ret i16 %r370}371 372define dso_local i16 @load_atomic_i16_unaligned_acquire(ptr %ptr) {373; CHECK-LABEL: load_atomic_i16_unaligned_acquire:374; CHECK:    bl __atomic_load375    %r = load atomic i16, ptr %ptr acquire, align 1376    ret i16 %r377}378 379define dso_local i16 @load_atomic_i16_unaligned_acquire_const(ptr readonly %ptr) {380; CHECK-LABEL: load_atomic_i16_unaligned_acquire_const:381; CHECK:    bl __atomic_load382    %r = load atomic i16, ptr %ptr acquire, align 1383    ret i16 %r384}385 386define dso_local i16 @load_atomic_i16_unaligned_seq_cst(ptr %ptr) {387; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst:388; CHECK:    bl __atomic_load389    %r = load atomic i16, ptr %ptr seq_cst, align 1390    ret i16 %r391}392 393define dso_local i16 @load_atomic_i16_unaligned_seq_cst_const(ptr readonly %ptr) {394; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst_const:395; CHECK:    bl __atomic_load396    %r = load atomic i16, ptr %ptr seq_cst, align 1397    ret i16 %r398}399 400define dso_local i32 @load_atomic_i32_unaligned_unordered(ptr %ptr) {401; CHECK-LABEL: load_atomic_i32_unaligned_unordered:402; CHECK:    bl __atomic_load403    %r = load atomic i32, ptr %ptr unordered, align 1404    ret i32 %r405}406 407define dso_local i32 @load_atomic_i32_unaligned_unordered_const(ptr readonly %ptr) {408; CHECK-LABEL: load_atomic_i32_unaligned_unordered_const:409; CHECK:    bl __atomic_load410    %r = load atomic i32, ptr %ptr unordered, align 1411    ret i32 %r412}413 414define dso_local i32 @load_atomic_i32_unaligned_monotonic(ptr %ptr) {415; CHECK-LABEL: load_atomic_i32_unaligned_monotonic:416; CHECK:    bl __atomic_load417    %r = load atomic i32, ptr %ptr monotonic, align 1418    ret i32 %r419}420 421define dso_local i32 @load_atomic_i32_unaligned_monotonic_const(ptr readonly %ptr) {422; CHECK-LABEL: load_atomic_i32_unaligned_monotonic_const:423; CHECK:    bl __atomic_load424    %r = load atomic i32, ptr %ptr monotonic, align 1425    ret i32 %r426}427 428define dso_local i32 @load_atomic_i32_unaligned_acquire(ptr %ptr) {429; CHECK-LABEL: load_atomic_i32_unaligned_acquire:430; CHECK:    bl __atomic_load431    %r = load atomic i32, ptr %ptr acquire, align 1432    ret i32 %r433}434 435define dso_local i32 @load_atomic_i32_unaligned_acquire_const(ptr readonly %ptr) {436; CHECK-LABEL: load_atomic_i32_unaligned_acquire_const:437; CHECK:    bl __atomic_load438    %r = load atomic i32, ptr %ptr acquire, align 1439    ret i32 %r440}441 442define dso_local i32 @load_atomic_i32_unaligned_seq_cst(ptr %ptr) {443; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst:444; CHECK:    bl __atomic_load445    %r = load atomic i32, ptr %ptr seq_cst, align 1446    ret i32 %r447}448 449define dso_local i32 @load_atomic_i32_unaligned_seq_cst_const(ptr readonly %ptr) {450; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst_const:451; CHECK:    bl __atomic_load452    %r = load atomic i32, ptr %ptr seq_cst, align 1453    ret i32 %r454}455 456define dso_local i64 @load_atomic_i64_unaligned_unordered(ptr %ptr) {457; CHECK-LABEL: load_atomic_i64_unaligned_unordered:458; CHECK:    bl __atomic_load459    %r = load atomic i64, ptr %ptr unordered, align 1460    ret i64 %r461}462 463define dso_local i64 @load_atomic_i64_unaligned_unordered_const(ptr readonly %ptr) {464; CHECK-LABEL: load_atomic_i64_unaligned_unordered_const:465; CHECK:    bl __atomic_load466    %r = load atomic i64, ptr %ptr unordered, align 1467    ret i64 %r468}469 470define dso_local i64 @load_atomic_i64_unaligned_monotonic(ptr %ptr) {471; CHECK-LABEL: load_atomic_i64_unaligned_monotonic:472; CHECK:    bl __atomic_load473    %r = load atomic i64, ptr %ptr monotonic, align 1474    ret i64 %r475}476 477define dso_local i64 @load_atomic_i64_unaligned_monotonic_const(ptr readonly %ptr) {478; CHECK-LABEL: load_atomic_i64_unaligned_monotonic_const:479; CHECK:    bl __atomic_load480    %r = load atomic i64, ptr %ptr monotonic, align 1481    ret i64 %r482}483 484define dso_local i64 @load_atomic_i64_unaligned_acquire(ptr %ptr) {485; CHECK-LABEL: load_atomic_i64_unaligned_acquire:486; CHECK:    bl __atomic_load487    %r = load atomic i64, ptr %ptr acquire, align 1488    ret i64 %r489}490 491define dso_local i64 @load_atomic_i64_unaligned_acquire_const(ptr readonly %ptr) {492; CHECK-LABEL: load_atomic_i64_unaligned_acquire_const:493; CHECK:    bl __atomic_load494    %r = load atomic i64, ptr %ptr acquire, align 1495    ret i64 %r496}497 498define dso_local i64 @load_atomic_i64_unaligned_seq_cst(ptr %ptr) {499; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst:500; CHECK:    bl __atomic_load501    %r = load atomic i64, ptr %ptr seq_cst, align 1502    ret i64 %r503}504 505define dso_local i64 @load_atomic_i64_unaligned_seq_cst_const(ptr readonly %ptr) {506; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst_const:507; CHECK:    bl __atomic_load508    %r = load atomic i64, ptr %ptr seq_cst, align 1509    ret i64 %r510}511 512define dso_local i128 @load_atomic_i128_unaligned_unordered(ptr %ptr) {513; CHECK-LABEL: load_atomic_i128_unaligned_unordered:514; CHECK:    bl __atomic_load515    %r = load atomic i128, ptr %ptr unordered, align 1516    ret i128 %r517}518 519define dso_local i128 @load_atomic_i128_unaligned_unordered_const(ptr readonly %ptr) {520; CHECK-LABEL: load_atomic_i128_unaligned_unordered_const:521; CHECK:    bl __atomic_load522    %r = load atomic i128, ptr %ptr unordered, align 1523    ret i128 %r524}525 526define dso_local i128 @load_atomic_i128_unaligned_monotonic(ptr %ptr) {527; CHECK-LABEL: load_atomic_i128_unaligned_monotonic:528; CHECK:    bl __atomic_load529    %r = load atomic i128, ptr %ptr monotonic, align 1530    ret i128 %r531}532 533define dso_local i128 @load_atomic_i128_unaligned_monotonic_const(ptr readonly %ptr) {534; CHECK-LABEL: load_atomic_i128_unaligned_monotonic_const:535; CHECK:    bl __atomic_load536    %r = load atomic i128, ptr %ptr monotonic, align 1537    ret i128 %r538}539 540define dso_local i128 @load_atomic_i128_unaligned_acquire(ptr %ptr) {541; CHECK-LABEL: load_atomic_i128_unaligned_acquire:542; CHECK:    bl __atomic_load543    %r = load atomic i128, ptr %ptr acquire, align 1544    ret i128 %r545}546 547define dso_local i128 @load_atomic_i128_unaligned_acquire_const(ptr readonly %ptr) {548; CHECK-LABEL: load_atomic_i128_unaligned_acquire_const:549; CHECK:    bl __atomic_load550    %r = load atomic i128, ptr %ptr acquire, align 1551    ret i128 %r552}553 554define dso_local i128 @load_atomic_i128_unaligned_seq_cst(ptr %ptr) {555; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst:556; CHECK:    bl __atomic_load557    %r = load atomic i128, ptr %ptr seq_cst, align 1558    ret i128 %r559}560 561define dso_local i128 @load_atomic_i128_unaligned_seq_cst_const(ptr readonly %ptr) {562; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst_const:563; CHECK:    bl __atomic_load564    %r = load atomic i128, ptr %ptr seq_cst, align 1565    ret i128 %r566}567;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:568; -O0: {{.*}}569; -O1: {{.*}}570