brintos

brintos / llvm-project-archived public Read only

0
0
Text · 19.2 KiB · 7a2dfd8 Raw
597 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=+outline-atomics -O0 | FileCheck %s --check-prefixes=CHECK,-O04; RUN: llc %s -o - -verify-machineinstrs -mtriple=aarch64_be -mattr=+outline-atomics -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:    bl __aarch64_cas16_relax233;234; -O1-LABEL: load_atomic_i128_aligned_unordered:235; -O1:    ldxp x1, x0, [x8]236; -O1:    stxp w9, x1, x0, [x8]237    %r = load atomic i128, ptr %ptr unordered, align 16238    ret i128 %r239}240 241define dso_local i128 @load_atomic_i128_aligned_unordered_const(ptr readonly %ptr) {242; -O0-LABEL: load_atomic_i128_aligned_unordered_const:243; -O0:    bl __aarch64_cas16_relax244;245; -O1-LABEL: load_atomic_i128_aligned_unordered_const:246; -O1:    ldxp x1, x0, [x8]247; -O1:    stxp w9, x1, x0, [x8]248    %r = load atomic i128, ptr %ptr unordered, align 16249    ret i128 %r250}251 252define dso_local i128 @load_atomic_i128_aligned_monotonic(ptr %ptr) {253; -O0-LABEL: load_atomic_i128_aligned_monotonic:254; -O0:    bl __aarch64_cas16_relax255;256; -O1-LABEL: load_atomic_i128_aligned_monotonic:257; -O1:    ldxp x1, x0, [x8]258; -O1:    stxp w9, x1, x0, [x8]259    %r = load atomic i128, ptr %ptr monotonic, align 16260    ret i128 %r261}262 263define dso_local i128 @load_atomic_i128_aligned_monotonic_const(ptr readonly %ptr) {264; -O0-LABEL: load_atomic_i128_aligned_monotonic_const:265; -O0:    bl __aarch64_cas16_relax266;267; -O1-LABEL: load_atomic_i128_aligned_monotonic_const:268; -O1:    ldxp x1, x0, [x8]269; -O1:    stxp w9, x1, x0, [x8]270    %r = load atomic i128, ptr %ptr monotonic, align 16271    ret i128 %r272}273 274define dso_local i128 @load_atomic_i128_aligned_acquire(ptr %ptr) {275; -O0-LABEL: load_atomic_i128_aligned_acquire:276; -O0:    bl __aarch64_cas16_acq277;278; -O1-LABEL: load_atomic_i128_aligned_acquire:279; -O1:    ldaxp x1, x0, [x8]280; -O1:    stxp w9, x1, x0, [x8]281    %r = load atomic i128, ptr %ptr acquire, align 16282    ret i128 %r283}284 285define dso_local i128 @load_atomic_i128_aligned_acquire_const(ptr readonly %ptr) {286; -O0-LABEL: load_atomic_i128_aligned_acquire_const:287; -O0:    bl __aarch64_cas16_acq288;289; -O1-LABEL: load_atomic_i128_aligned_acquire_const:290; -O1:    ldaxp x1, x0, [x8]291; -O1:    stxp w9, x1, x0, [x8]292    %r = load atomic i128, ptr %ptr acquire, align 16293    ret i128 %r294}295 296define dso_local i128 @load_atomic_i128_aligned_seq_cst(ptr %ptr) {297; -O0-LABEL: load_atomic_i128_aligned_seq_cst:298; -O0:    bl __aarch64_cas16_acq_rel299;300; -O1-LABEL: load_atomic_i128_aligned_seq_cst:301; -O1:    ldaxp x1, x0, [x8]302; -O1:    stlxp w9, x1, x0, [x8]303    %r = load atomic i128, ptr %ptr seq_cst, align 16304    ret i128 %r305}306 307define dso_local i128 @load_atomic_i128_aligned_seq_cst_const(ptr readonly %ptr) {308; -O0-LABEL: load_atomic_i128_aligned_seq_cst_const:309; -O0:    bl __aarch64_cas16_acq_rel310;311; -O1-LABEL: load_atomic_i128_aligned_seq_cst_const:312; -O1:    ldaxp x1, x0, [x8]313; -O1:    stlxp w9, x1, x0, [x8]314    %r = load atomic i128, ptr %ptr seq_cst, align 16315    ret i128 %r316}317 318define dso_local i8 @load_atomic_i8_unaligned_unordered(ptr %ptr) {319; CHECK-LABEL: load_atomic_i8_unaligned_unordered:320; CHECK:    ldrb w0, [x0]321    %r = load atomic i8, ptr %ptr unordered, align 1322    ret i8 %r323}324 325define dso_local i8 @load_atomic_i8_unaligned_unordered_const(ptr readonly %ptr) {326; CHECK-LABEL: load_atomic_i8_unaligned_unordered_const:327; CHECK:    ldrb w0, [x0]328    %r = load atomic i8, ptr %ptr unordered, align 1329    ret i8 %r330}331 332define dso_local i8 @load_atomic_i8_unaligned_monotonic(ptr %ptr) {333; CHECK-LABEL: load_atomic_i8_unaligned_monotonic:334; CHECK:    ldrb w0, [x0]335    %r = load atomic i8, ptr %ptr monotonic, align 1336    ret i8 %r337}338 339define dso_local i8 @load_atomic_i8_unaligned_monotonic_const(ptr readonly %ptr) {340; CHECK-LABEL: load_atomic_i8_unaligned_monotonic_const:341; CHECK:    ldrb w0, [x0]342    %r = load atomic i8, ptr %ptr monotonic, align 1343    ret i8 %r344}345 346define dso_local i8 @load_atomic_i8_unaligned_acquire(ptr %ptr) {347; CHECK-LABEL: load_atomic_i8_unaligned_acquire:348; CHECK:    ldarb w0, [x0]349    %r = load atomic i8, ptr %ptr acquire, align 1350    ret i8 %r351}352 353define dso_local i8 @load_atomic_i8_unaligned_acquire_const(ptr readonly %ptr) {354; CHECK-LABEL: load_atomic_i8_unaligned_acquire_const:355; CHECK:    ldarb w0, [x0]356    %r = load atomic i8, ptr %ptr acquire, align 1357    ret i8 %r358}359 360define dso_local i8 @load_atomic_i8_unaligned_seq_cst(ptr %ptr) {361; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst:362; CHECK:    ldarb w0, [x0]363    %r = load atomic i8, ptr %ptr seq_cst, align 1364    ret i8 %r365}366 367define dso_local i8 @load_atomic_i8_unaligned_seq_cst_const(ptr readonly %ptr) {368; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst_const:369; CHECK:    ldarb w0, [x0]370    %r = load atomic i8, ptr %ptr seq_cst, align 1371    ret i8 %r372}373 374define dso_local i16 @load_atomic_i16_unaligned_unordered(ptr %ptr) {375; CHECK-LABEL: load_atomic_i16_unaligned_unordered:376; CHECK:    bl __atomic_load377    %r = load atomic i16, ptr %ptr unordered, align 1378    ret i16 %r379}380 381define dso_local i16 @load_atomic_i16_unaligned_unordered_const(ptr readonly %ptr) {382; CHECK-LABEL: load_atomic_i16_unaligned_unordered_const:383; CHECK:    bl __atomic_load384    %r = load atomic i16, ptr %ptr unordered, align 1385    ret i16 %r386}387 388define dso_local i16 @load_atomic_i16_unaligned_monotonic(ptr %ptr) {389; CHECK-LABEL: load_atomic_i16_unaligned_monotonic:390; CHECK:    bl __atomic_load391    %r = load atomic i16, ptr %ptr monotonic, align 1392    ret i16 %r393}394 395define dso_local i16 @load_atomic_i16_unaligned_monotonic_const(ptr readonly %ptr) {396; CHECK-LABEL: load_atomic_i16_unaligned_monotonic_const:397; CHECK:    bl __atomic_load398    %r = load atomic i16, ptr %ptr monotonic, align 1399    ret i16 %r400}401 402define dso_local i16 @load_atomic_i16_unaligned_acquire(ptr %ptr) {403; CHECK-LABEL: load_atomic_i16_unaligned_acquire:404; CHECK:    bl __atomic_load405    %r = load atomic i16, ptr %ptr acquire, align 1406    ret i16 %r407}408 409define dso_local i16 @load_atomic_i16_unaligned_acquire_const(ptr readonly %ptr) {410; CHECK-LABEL: load_atomic_i16_unaligned_acquire_const:411; CHECK:    bl __atomic_load412    %r = load atomic i16, ptr %ptr acquire, align 1413    ret i16 %r414}415 416define dso_local i16 @load_atomic_i16_unaligned_seq_cst(ptr %ptr) {417; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst:418; CHECK:    bl __atomic_load419    %r = load atomic i16, ptr %ptr seq_cst, align 1420    ret i16 %r421}422 423define dso_local i16 @load_atomic_i16_unaligned_seq_cst_const(ptr readonly %ptr) {424; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst_const:425; CHECK:    bl __atomic_load426    %r = load atomic i16, ptr %ptr seq_cst, align 1427    ret i16 %r428}429 430define dso_local i32 @load_atomic_i32_unaligned_unordered(ptr %ptr) {431; CHECK-LABEL: load_atomic_i32_unaligned_unordered:432; CHECK:    bl __atomic_load433    %r = load atomic i32, ptr %ptr unordered, align 1434    ret i32 %r435}436 437define dso_local i32 @load_atomic_i32_unaligned_unordered_const(ptr readonly %ptr) {438; CHECK-LABEL: load_atomic_i32_unaligned_unordered_const:439; CHECK:    bl __atomic_load440    %r = load atomic i32, ptr %ptr unordered, align 1441    ret i32 %r442}443 444define dso_local i32 @load_atomic_i32_unaligned_monotonic(ptr %ptr) {445; CHECK-LABEL: load_atomic_i32_unaligned_monotonic:446; CHECK:    bl __atomic_load447    %r = load atomic i32, ptr %ptr monotonic, align 1448    ret i32 %r449}450 451define dso_local i32 @load_atomic_i32_unaligned_monotonic_const(ptr readonly %ptr) {452; CHECK-LABEL: load_atomic_i32_unaligned_monotonic_const:453; CHECK:    bl __atomic_load454    %r = load atomic i32, ptr %ptr monotonic, align 1455    ret i32 %r456}457 458define dso_local i32 @load_atomic_i32_unaligned_acquire(ptr %ptr) {459; CHECK-LABEL: load_atomic_i32_unaligned_acquire:460; CHECK:    bl __atomic_load461    %r = load atomic i32, ptr %ptr acquire, align 1462    ret i32 %r463}464 465define dso_local i32 @load_atomic_i32_unaligned_acquire_const(ptr readonly %ptr) {466; CHECK-LABEL: load_atomic_i32_unaligned_acquire_const:467; CHECK:    bl __atomic_load468    %r = load atomic i32, ptr %ptr acquire, align 1469    ret i32 %r470}471 472define dso_local i32 @load_atomic_i32_unaligned_seq_cst(ptr %ptr) {473; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst:474; CHECK:    bl __atomic_load475    %r = load atomic i32, ptr %ptr seq_cst, align 1476    ret i32 %r477}478 479define dso_local i32 @load_atomic_i32_unaligned_seq_cst_const(ptr readonly %ptr) {480; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst_const:481; CHECK:    bl __atomic_load482    %r = load atomic i32, ptr %ptr seq_cst, align 1483    ret i32 %r484}485 486define dso_local i64 @load_atomic_i64_unaligned_unordered(ptr %ptr) {487; CHECK-LABEL: load_atomic_i64_unaligned_unordered:488; CHECK:    bl __atomic_load489    %r = load atomic i64, ptr %ptr unordered, align 1490    ret i64 %r491}492 493define dso_local i64 @load_atomic_i64_unaligned_unordered_const(ptr readonly %ptr) {494; CHECK-LABEL: load_atomic_i64_unaligned_unordered_const:495; CHECK:    bl __atomic_load496    %r = load atomic i64, ptr %ptr unordered, align 1497    ret i64 %r498}499 500define dso_local i64 @load_atomic_i64_unaligned_monotonic(ptr %ptr) {501; CHECK-LABEL: load_atomic_i64_unaligned_monotonic:502; CHECK:    bl __atomic_load503    %r = load atomic i64, ptr %ptr monotonic, align 1504    ret i64 %r505}506 507define dso_local i64 @load_atomic_i64_unaligned_monotonic_const(ptr readonly %ptr) {508; CHECK-LABEL: load_atomic_i64_unaligned_monotonic_const:509; CHECK:    bl __atomic_load510    %r = load atomic i64, ptr %ptr monotonic, align 1511    ret i64 %r512}513 514define dso_local i64 @load_atomic_i64_unaligned_acquire(ptr %ptr) {515; CHECK-LABEL: load_atomic_i64_unaligned_acquire:516; CHECK:    bl __atomic_load517    %r = load atomic i64, ptr %ptr acquire, align 1518    ret i64 %r519}520 521define dso_local i64 @load_atomic_i64_unaligned_acquire_const(ptr readonly %ptr) {522; CHECK-LABEL: load_atomic_i64_unaligned_acquire_const:523; CHECK:    bl __atomic_load524    %r = load atomic i64, ptr %ptr acquire, align 1525    ret i64 %r526}527 528define dso_local i64 @load_atomic_i64_unaligned_seq_cst(ptr %ptr) {529; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst:530; CHECK:    bl __atomic_load531    %r = load atomic i64, ptr %ptr seq_cst, align 1532    ret i64 %r533}534 535define dso_local i64 @load_atomic_i64_unaligned_seq_cst_const(ptr readonly %ptr) {536; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst_const:537; CHECK:    bl __atomic_load538    %r = load atomic i64, ptr %ptr seq_cst, align 1539    ret i64 %r540}541 542define dso_local i128 @load_atomic_i128_unaligned_unordered(ptr %ptr) {543; CHECK-LABEL: load_atomic_i128_unaligned_unordered:544; CHECK:    bl __atomic_load545    %r = load atomic i128, ptr %ptr unordered, align 1546    ret i128 %r547}548 549define dso_local i128 @load_atomic_i128_unaligned_unordered_const(ptr readonly %ptr) {550; CHECK-LABEL: load_atomic_i128_unaligned_unordered_const:551; CHECK:    bl __atomic_load552    %r = load atomic i128, ptr %ptr unordered, align 1553    ret i128 %r554}555 556define dso_local i128 @load_atomic_i128_unaligned_monotonic(ptr %ptr) {557; CHECK-LABEL: load_atomic_i128_unaligned_monotonic:558; CHECK:    bl __atomic_load559    %r = load atomic i128, ptr %ptr monotonic, align 1560    ret i128 %r561}562 563define dso_local i128 @load_atomic_i128_unaligned_monotonic_const(ptr readonly %ptr) {564; CHECK-LABEL: load_atomic_i128_unaligned_monotonic_const:565; CHECK:    bl __atomic_load566    %r = load atomic i128, ptr %ptr monotonic, align 1567    ret i128 %r568}569 570define dso_local i128 @load_atomic_i128_unaligned_acquire(ptr %ptr) {571; CHECK-LABEL: load_atomic_i128_unaligned_acquire:572; CHECK:    bl __atomic_load573    %r = load atomic i128, ptr %ptr acquire, align 1574    ret i128 %r575}576 577define dso_local i128 @load_atomic_i128_unaligned_acquire_const(ptr readonly %ptr) {578; CHECK-LABEL: load_atomic_i128_unaligned_acquire_const:579; CHECK:    bl __atomic_load580    %r = load atomic i128, ptr %ptr acquire, align 1581    ret i128 %r582}583 584define dso_local i128 @load_atomic_i128_unaligned_seq_cst(ptr %ptr) {585; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst:586; CHECK:    bl __atomic_load587    %r = load atomic i128, ptr %ptr seq_cst, align 1588    ret i128 %r589}590 591define dso_local i128 @load_atomic_i128_unaligned_seq_cst_const(ptr readonly %ptr) {592; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst_const:593; CHECK:    bl __atomic_load594    %r = load atomic i128, ptr %ptr seq_cst, align 1595    ret i128 %r596}597