brintos

brintos / llvm-project-archived public Read only

0
0
Text · 19.0 KiB · e14610b Raw
589 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 -mattr=+v8.1a -O0 | FileCheck %s --check-prefixes=CHECK,-O04; RUN: llc %s -o - -verify-machineinstrs -mtriple=aarch64 -mattr=+v8.1a -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; -O0-LABEL: load_atomic_i128_aligned_unordered:232; -O0:    casp x2, x3, x0, x1, [x8]233;234; -O1-LABEL: load_atomic_i128_aligned_unordered:235; -O1:    casp x2, x3, x2, x3, [x0]236    %r = load atomic i128, ptr %ptr unordered, align 16237    ret i128 %r238}239 240define dso_local i128 @load_atomic_i128_aligned_unordered_const(ptr readonly %ptr) {241; -O0-LABEL: load_atomic_i128_aligned_unordered_const:242; -O0:    casp x2, x3, x0, x1, [x8]243;244; -O1-LABEL: load_atomic_i128_aligned_unordered_const:245; -O1:    casp x2, x3, x2, x3, [x0]246    %r = load atomic i128, ptr %ptr unordered, align 16247    ret i128 %r248}249 250define dso_local i128 @load_atomic_i128_aligned_monotonic(ptr %ptr) {251; -O0-LABEL: load_atomic_i128_aligned_monotonic:252; -O0:    casp x2, x3, x0, x1, [x8]253;254; -O1-LABEL: load_atomic_i128_aligned_monotonic:255; -O1:    casp x2, x3, x2, x3, [x0]256    %r = load atomic i128, ptr %ptr monotonic, align 16257    ret i128 %r258}259 260define dso_local i128 @load_atomic_i128_aligned_monotonic_const(ptr readonly %ptr) {261; -O0-LABEL: load_atomic_i128_aligned_monotonic_const:262; -O0:    casp x2, x3, x0, x1, [x8]263;264; -O1-LABEL: load_atomic_i128_aligned_monotonic_const:265; -O1:    casp x2, x3, x2, x3, [x0]266    %r = load atomic i128, ptr %ptr monotonic, align 16267    ret i128 %r268}269 270define dso_local i128 @load_atomic_i128_aligned_acquire(ptr %ptr) {271; -O0-LABEL: load_atomic_i128_aligned_acquire:272; -O0:    caspa x2, x3, x0, x1, [x8]273;274; -O1-LABEL: load_atomic_i128_aligned_acquire:275; -O1:    caspa x2, x3, x2, x3, [x0]276    %r = load atomic i128, ptr %ptr acquire, align 16277    ret i128 %r278}279 280define dso_local i128 @load_atomic_i128_aligned_acquire_const(ptr readonly %ptr) {281; -O0-LABEL: load_atomic_i128_aligned_acquire_const:282; -O0:    caspa x2, x3, x0, x1, [x8]283;284; -O1-LABEL: load_atomic_i128_aligned_acquire_const:285; -O1:    caspa x2, x3, x2, x3, [x0]286    %r = load atomic i128, ptr %ptr acquire, align 16287    ret i128 %r288}289 290define dso_local i128 @load_atomic_i128_aligned_seq_cst(ptr %ptr) {291; -O0-LABEL: load_atomic_i128_aligned_seq_cst:292; -O0:    caspal x2, x3, x0, x1, [x8]293;294; -O1-LABEL: load_atomic_i128_aligned_seq_cst:295; -O1:    caspal x2, x3, x2, x3, [x0]296    %r = load atomic i128, ptr %ptr seq_cst, align 16297    ret i128 %r298}299 300define dso_local i128 @load_atomic_i128_aligned_seq_cst_const(ptr readonly %ptr) {301; -O0-LABEL: load_atomic_i128_aligned_seq_cst_const:302; -O0:    caspal x2, x3, x0, x1, [x8]303;304; -O1-LABEL: load_atomic_i128_aligned_seq_cst_const:305; -O1:    caspal x2, x3, x2, x3, [x0]306    %r = load atomic i128, ptr %ptr seq_cst, align 16307    ret i128 %r308}309 310define dso_local i8 @load_atomic_i8_unaligned_unordered(ptr %ptr) {311; CHECK-LABEL: load_atomic_i8_unaligned_unordered:312; CHECK:    ldrb w0, [x0]313    %r = load atomic i8, ptr %ptr unordered, align 1314    ret i8 %r315}316 317define dso_local i8 @load_atomic_i8_unaligned_unordered_const(ptr readonly %ptr) {318; CHECK-LABEL: load_atomic_i8_unaligned_unordered_const:319; CHECK:    ldrb w0, [x0]320    %r = load atomic i8, ptr %ptr unordered, align 1321    ret i8 %r322}323 324define dso_local i8 @load_atomic_i8_unaligned_monotonic(ptr %ptr) {325; CHECK-LABEL: load_atomic_i8_unaligned_monotonic:326; CHECK:    ldrb w0, [x0]327    %r = load atomic i8, ptr %ptr monotonic, align 1328    ret i8 %r329}330 331define dso_local i8 @load_atomic_i8_unaligned_monotonic_const(ptr readonly %ptr) {332; CHECK-LABEL: load_atomic_i8_unaligned_monotonic_const:333; CHECK:    ldrb w0, [x0]334    %r = load atomic i8, ptr %ptr monotonic, align 1335    ret i8 %r336}337 338define dso_local i8 @load_atomic_i8_unaligned_acquire(ptr %ptr) {339; CHECK-LABEL: load_atomic_i8_unaligned_acquire:340; CHECK:    ldarb w0, [x0]341    %r = load atomic i8, ptr %ptr acquire, align 1342    ret i8 %r343}344 345define dso_local i8 @load_atomic_i8_unaligned_acquire_const(ptr readonly %ptr) {346; CHECK-LABEL: load_atomic_i8_unaligned_acquire_const:347; CHECK:    ldarb w0, [x0]348    %r = load atomic i8, ptr %ptr acquire, align 1349    ret i8 %r350}351 352define dso_local i8 @load_atomic_i8_unaligned_seq_cst(ptr %ptr) {353; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst:354; CHECK:    ldarb w0, [x0]355    %r = load atomic i8, ptr %ptr seq_cst, align 1356    ret i8 %r357}358 359define dso_local i8 @load_atomic_i8_unaligned_seq_cst_const(ptr readonly %ptr) {360; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst_const:361; CHECK:    ldarb w0, [x0]362    %r = load atomic i8, ptr %ptr seq_cst, align 1363    ret i8 %r364}365 366define dso_local i16 @load_atomic_i16_unaligned_unordered(ptr %ptr) {367; CHECK-LABEL: load_atomic_i16_unaligned_unordered:368; CHECK:    bl __atomic_load369    %r = load atomic i16, ptr %ptr unordered, align 1370    ret i16 %r371}372 373define dso_local i16 @load_atomic_i16_unaligned_unordered_const(ptr readonly %ptr) {374; CHECK-LABEL: load_atomic_i16_unaligned_unordered_const:375; CHECK:    bl __atomic_load376    %r = load atomic i16, ptr %ptr unordered, align 1377    ret i16 %r378}379 380define dso_local i16 @load_atomic_i16_unaligned_monotonic(ptr %ptr) {381; CHECK-LABEL: load_atomic_i16_unaligned_monotonic:382; CHECK:    bl __atomic_load383    %r = load atomic i16, ptr %ptr monotonic, align 1384    ret i16 %r385}386 387define dso_local i16 @load_atomic_i16_unaligned_monotonic_const(ptr readonly %ptr) {388; CHECK-LABEL: load_atomic_i16_unaligned_monotonic_const:389; CHECK:    bl __atomic_load390    %r = load atomic i16, ptr %ptr monotonic, align 1391    ret i16 %r392}393 394define dso_local i16 @load_atomic_i16_unaligned_acquire(ptr %ptr) {395; CHECK-LABEL: load_atomic_i16_unaligned_acquire:396; CHECK:    bl __atomic_load397    %r = load atomic i16, ptr %ptr acquire, align 1398    ret i16 %r399}400 401define dso_local i16 @load_atomic_i16_unaligned_acquire_const(ptr readonly %ptr) {402; CHECK-LABEL: load_atomic_i16_unaligned_acquire_const:403; CHECK:    bl __atomic_load404    %r = load atomic i16, ptr %ptr acquire, align 1405    ret i16 %r406}407 408define dso_local i16 @load_atomic_i16_unaligned_seq_cst(ptr %ptr) {409; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst:410; CHECK:    bl __atomic_load411    %r = load atomic i16, ptr %ptr seq_cst, align 1412    ret i16 %r413}414 415define dso_local i16 @load_atomic_i16_unaligned_seq_cst_const(ptr readonly %ptr) {416; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst_const:417; CHECK:    bl __atomic_load418    %r = load atomic i16, ptr %ptr seq_cst, align 1419    ret i16 %r420}421 422define dso_local i32 @load_atomic_i32_unaligned_unordered(ptr %ptr) {423; CHECK-LABEL: load_atomic_i32_unaligned_unordered:424; CHECK:    bl __atomic_load425    %r = load atomic i32, ptr %ptr unordered, align 1426    ret i32 %r427}428 429define dso_local i32 @load_atomic_i32_unaligned_unordered_const(ptr readonly %ptr) {430; CHECK-LABEL: load_atomic_i32_unaligned_unordered_const:431; CHECK:    bl __atomic_load432    %r = load atomic i32, ptr %ptr unordered, align 1433    ret i32 %r434}435 436define dso_local i32 @load_atomic_i32_unaligned_monotonic(ptr %ptr) {437; CHECK-LABEL: load_atomic_i32_unaligned_monotonic:438; CHECK:    bl __atomic_load439    %r = load atomic i32, ptr %ptr monotonic, align 1440    ret i32 %r441}442 443define dso_local i32 @load_atomic_i32_unaligned_monotonic_const(ptr readonly %ptr) {444; CHECK-LABEL: load_atomic_i32_unaligned_monotonic_const:445; CHECK:    bl __atomic_load446    %r = load atomic i32, ptr %ptr monotonic, align 1447    ret i32 %r448}449 450define dso_local i32 @load_atomic_i32_unaligned_acquire(ptr %ptr) {451; CHECK-LABEL: load_atomic_i32_unaligned_acquire:452; CHECK:    bl __atomic_load453    %r = load atomic i32, ptr %ptr acquire, align 1454    ret i32 %r455}456 457define dso_local i32 @load_atomic_i32_unaligned_acquire_const(ptr readonly %ptr) {458; CHECK-LABEL: load_atomic_i32_unaligned_acquire_const:459; CHECK:    bl __atomic_load460    %r = load atomic i32, ptr %ptr acquire, align 1461    ret i32 %r462}463 464define dso_local i32 @load_atomic_i32_unaligned_seq_cst(ptr %ptr) {465; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst:466; CHECK:    bl __atomic_load467    %r = load atomic i32, ptr %ptr seq_cst, align 1468    ret i32 %r469}470 471define dso_local i32 @load_atomic_i32_unaligned_seq_cst_const(ptr readonly %ptr) {472; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst_const:473; CHECK:    bl __atomic_load474    %r = load atomic i32, ptr %ptr seq_cst, align 1475    ret i32 %r476}477 478define dso_local i64 @load_atomic_i64_unaligned_unordered(ptr %ptr) {479; CHECK-LABEL: load_atomic_i64_unaligned_unordered:480; CHECK:    bl __atomic_load481    %r = load atomic i64, ptr %ptr unordered, align 1482    ret i64 %r483}484 485define dso_local i64 @load_atomic_i64_unaligned_unordered_const(ptr readonly %ptr) {486; CHECK-LABEL: load_atomic_i64_unaligned_unordered_const:487; CHECK:    bl __atomic_load488    %r = load atomic i64, ptr %ptr unordered, align 1489    ret i64 %r490}491 492define dso_local i64 @load_atomic_i64_unaligned_monotonic(ptr %ptr) {493; CHECK-LABEL: load_atomic_i64_unaligned_monotonic:494; CHECK:    bl __atomic_load495    %r = load atomic i64, ptr %ptr monotonic, align 1496    ret i64 %r497}498 499define dso_local i64 @load_atomic_i64_unaligned_monotonic_const(ptr readonly %ptr) {500; CHECK-LABEL: load_atomic_i64_unaligned_monotonic_const:501; CHECK:    bl __atomic_load502    %r = load atomic i64, ptr %ptr monotonic, align 1503    ret i64 %r504}505 506define dso_local i64 @load_atomic_i64_unaligned_acquire(ptr %ptr) {507; CHECK-LABEL: load_atomic_i64_unaligned_acquire:508; CHECK:    bl __atomic_load509    %r = load atomic i64, ptr %ptr acquire, align 1510    ret i64 %r511}512 513define dso_local i64 @load_atomic_i64_unaligned_acquire_const(ptr readonly %ptr) {514; CHECK-LABEL: load_atomic_i64_unaligned_acquire_const:515; CHECK:    bl __atomic_load516    %r = load atomic i64, ptr %ptr acquire, align 1517    ret i64 %r518}519 520define dso_local i64 @load_atomic_i64_unaligned_seq_cst(ptr %ptr) {521; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst:522; CHECK:    bl __atomic_load523    %r = load atomic i64, ptr %ptr seq_cst, align 1524    ret i64 %r525}526 527define dso_local i64 @load_atomic_i64_unaligned_seq_cst_const(ptr readonly %ptr) {528; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst_const:529; CHECK:    bl __atomic_load530    %r = load atomic i64, ptr %ptr seq_cst, align 1531    ret i64 %r532}533 534define dso_local i128 @load_atomic_i128_unaligned_unordered(ptr %ptr) {535; CHECK-LABEL: load_atomic_i128_unaligned_unordered:536; CHECK:    bl __atomic_load537    %r = load atomic i128, ptr %ptr unordered, align 1538    ret i128 %r539}540 541define dso_local i128 @load_atomic_i128_unaligned_unordered_const(ptr readonly %ptr) {542; CHECK-LABEL: load_atomic_i128_unaligned_unordered_const:543; CHECK:    bl __atomic_load544    %r = load atomic i128, ptr %ptr unordered, align 1545    ret i128 %r546}547 548define dso_local i128 @load_atomic_i128_unaligned_monotonic(ptr %ptr) {549; CHECK-LABEL: load_atomic_i128_unaligned_monotonic:550; CHECK:    bl __atomic_load551    %r = load atomic i128, ptr %ptr monotonic, align 1552    ret i128 %r553}554 555define dso_local i128 @load_atomic_i128_unaligned_monotonic_const(ptr readonly %ptr) {556; CHECK-LABEL: load_atomic_i128_unaligned_monotonic_const:557; CHECK:    bl __atomic_load558    %r = load atomic i128, ptr %ptr monotonic, align 1559    ret i128 %r560}561 562define dso_local i128 @load_atomic_i128_unaligned_acquire(ptr %ptr) {563; CHECK-LABEL: load_atomic_i128_unaligned_acquire:564; CHECK:    bl __atomic_load565    %r = load atomic i128, ptr %ptr acquire, align 1566    ret i128 %r567}568 569define dso_local i128 @load_atomic_i128_unaligned_acquire_const(ptr readonly %ptr) {570; CHECK-LABEL: load_atomic_i128_unaligned_acquire_const:571; CHECK:    bl __atomic_load572    %r = load atomic i128, ptr %ptr acquire, align 1573    ret i128 %r574}575 576define dso_local i128 @load_atomic_i128_unaligned_seq_cst(ptr %ptr) {577; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst:578; CHECK:    bl __atomic_load579    %r = load atomic i128, ptr %ptr seq_cst, align 1580    ret i128 %r581}582 583define dso_local i128 @load_atomic_i128_unaligned_seq_cst_const(ptr readonly %ptr) {584; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst_const:585; CHECK:    bl __atomic_load586    %r = load atomic i128, ptr %ptr seq_cst, align 1587    ret i128 %r588}589