brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.5 KiB · 322dcb2 Raw
568 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=+v8.1a -O0 | FileCheck %s --check-prefixes=CHECK,-O04; RUN: llc %s -o - -verify-machineinstrs -mtriple=aarch64_be -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; CHECK-LABEL: load_atomic_i128_aligned_unordered:232; CHECK:    casp x2, x3, x2, x3, [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:    casp x2, x3, x2, x3, [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:    casp x2, x3, x2, x3, [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:    casp x2, x3, x2, x3, [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:    caspa x2, x3, x2, x3, [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:    caspa x2, x3, x2, x3, [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:    caspal x2, x3, x2, x3, [x0]275    %r = load atomic i128, ptr %ptr seq_cst, align 16276    ret i128 %r277}278 279define dso_local i128 @load_atomic_i128_aligned_seq_cst_const(ptr readonly %ptr) {280; CHECK-LABEL: load_atomic_i128_aligned_seq_cst_const:281; CHECK:    caspal x2, x3, x2, x3, [x0]282    %r = load atomic i128, ptr %ptr seq_cst, align 16283    ret i128 %r284}285 286define dso_local i8 @load_atomic_i8_unaligned_unordered(ptr %ptr) {287; CHECK-LABEL: load_atomic_i8_unaligned_unordered:288; CHECK:    ldrb w0, [x0]289    %r = load atomic i8, ptr %ptr unordered, align 1290    ret i8 %r291}292 293define dso_local i8 @load_atomic_i8_unaligned_unordered_const(ptr readonly %ptr) {294; CHECK-LABEL: load_atomic_i8_unaligned_unordered_const:295; CHECK:    ldrb w0, [x0]296    %r = load atomic i8, ptr %ptr unordered, align 1297    ret i8 %r298}299 300define dso_local i8 @load_atomic_i8_unaligned_monotonic(ptr %ptr) {301; CHECK-LABEL: load_atomic_i8_unaligned_monotonic:302; CHECK:    ldrb w0, [x0]303    %r = load atomic i8, ptr %ptr monotonic, align 1304    ret i8 %r305}306 307define dso_local i8 @load_atomic_i8_unaligned_monotonic_const(ptr readonly %ptr) {308; CHECK-LABEL: load_atomic_i8_unaligned_monotonic_const:309; CHECK:    ldrb w0, [x0]310    %r = load atomic i8, ptr %ptr monotonic, align 1311    ret i8 %r312}313 314define dso_local i8 @load_atomic_i8_unaligned_acquire(ptr %ptr) {315; CHECK-LABEL: load_atomic_i8_unaligned_acquire:316; CHECK:    ldarb w0, [x0]317    %r = load atomic i8, ptr %ptr acquire, align 1318    ret i8 %r319}320 321define dso_local i8 @load_atomic_i8_unaligned_acquire_const(ptr readonly %ptr) {322; CHECK-LABEL: load_atomic_i8_unaligned_acquire_const:323; CHECK:    ldarb w0, [x0]324    %r = load atomic i8, ptr %ptr acquire, align 1325    ret i8 %r326}327 328define dso_local i8 @load_atomic_i8_unaligned_seq_cst(ptr %ptr) {329; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst:330; CHECK:    ldarb w0, [x0]331    %r = load atomic i8, ptr %ptr seq_cst, align 1332    ret i8 %r333}334 335define dso_local i8 @load_atomic_i8_unaligned_seq_cst_const(ptr readonly %ptr) {336; CHECK-LABEL: load_atomic_i8_unaligned_seq_cst_const:337; CHECK:    ldarb w0, [x0]338    %r = load atomic i8, ptr %ptr seq_cst, align 1339    ret i8 %r340}341 342define dso_local i16 @load_atomic_i16_unaligned_unordered(ptr %ptr) {343; CHECK-LABEL: load_atomic_i16_unaligned_unordered:344; CHECK:    bl __atomic_load345    %r = load atomic i16, ptr %ptr unordered, align 1346    ret i16 %r347}348 349define dso_local i16 @load_atomic_i16_unaligned_unordered_const(ptr readonly %ptr) {350; CHECK-LABEL: load_atomic_i16_unaligned_unordered_const:351; CHECK:    bl __atomic_load352    %r = load atomic i16, ptr %ptr unordered, align 1353    ret i16 %r354}355 356define dso_local i16 @load_atomic_i16_unaligned_monotonic(ptr %ptr) {357; CHECK-LABEL: load_atomic_i16_unaligned_monotonic:358; CHECK:    bl __atomic_load359    %r = load atomic i16, ptr %ptr monotonic, align 1360    ret i16 %r361}362 363define dso_local i16 @load_atomic_i16_unaligned_monotonic_const(ptr readonly %ptr) {364; CHECK-LABEL: load_atomic_i16_unaligned_monotonic_const:365; CHECK:    bl __atomic_load366    %r = load atomic i16, ptr %ptr monotonic, align 1367    ret i16 %r368}369 370define dso_local i16 @load_atomic_i16_unaligned_acquire(ptr %ptr) {371; CHECK-LABEL: load_atomic_i16_unaligned_acquire:372; CHECK:    bl __atomic_load373    %r = load atomic i16, ptr %ptr acquire, align 1374    ret i16 %r375}376 377define dso_local i16 @load_atomic_i16_unaligned_acquire_const(ptr readonly %ptr) {378; CHECK-LABEL: load_atomic_i16_unaligned_acquire_const:379; CHECK:    bl __atomic_load380    %r = load atomic i16, ptr %ptr acquire, align 1381    ret i16 %r382}383 384define dso_local i16 @load_atomic_i16_unaligned_seq_cst(ptr %ptr) {385; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst:386; CHECK:    bl __atomic_load387    %r = load atomic i16, ptr %ptr seq_cst, align 1388    ret i16 %r389}390 391define dso_local i16 @load_atomic_i16_unaligned_seq_cst_const(ptr readonly %ptr) {392; CHECK-LABEL: load_atomic_i16_unaligned_seq_cst_const:393; CHECK:    bl __atomic_load394    %r = load atomic i16, ptr %ptr seq_cst, align 1395    ret i16 %r396}397 398define dso_local i32 @load_atomic_i32_unaligned_unordered(ptr %ptr) {399; CHECK-LABEL: load_atomic_i32_unaligned_unordered:400; CHECK:    bl __atomic_load401    %r = load atomic i32, ptr %ptr unordered, align 1402    ret i32 %r403}404 405define dso_local i32 @load_atomic_i32_unaligned_unordered_const(ptr readonly %ptr) {406; CHECK-LABEL: load_atomic_i32_unaligned_unordered_const:407; CHECK:    bl __atomic_load408    %r = load atomic i32, ptr %ptr unordered, align 1409    ret i32 %r410}411 412define dso_local i32 @load_atomic_i32_unaligned_monotonic(ptr %ptr) {413; CHECK-LABEL: load_atomic_i32_unaligned_monotonic:414; CHECK:    bl __atomic_load415    %r = load atomic i32, ptr %ptr monotonic, align 1416    ret i32 %r417}418 419define dso_local i32 @load_atomic_i32_unaligned_monotonic_const(ptr readonly %ptr) {420; CHECK-LABEL: load_atomic_i32_unaligned_monotonic_const:421; CHECK:    bl __atomic_load422    %r = load atomic i32, ptr %ptr monotonic, align 1423    ret i32 %r424}425 426define dso_local i32 @load_atomic_i32_unaligned_acquire(ptr %ptr) {427; CHECK-LABEL: load_atomic_i32_unaligned_acquire:428; CHECK:    bl __atomic_load429    %r = load atomic i32, ptr %ptr acquire, align 1430    ret i32 %r431}432 433define dso_local i32 @load_atomic_i32_unaligned_acquire_const(ptr readonly %ptr) {434; CHECK-LABEL: load_atomic_i32_unaligned_acquire_const:435; CHECK:    bl __atomic_load436    %r = load atomic i32, ptr %ptr acquire, align 1437    ret i32 %r438}439 440define dso_local i32 @load_atomic_i32_unaligned_seq_cst(ptr %ptr) {441; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst:442; CHECK:    bl __atomic_load443    %r = load atomic i32, ptr %ptr seq_cst, align 1444    ret i32 %r445}446 447define dso_local i32 @load_atomic_i32_unaligned_seq_cst_const(ptr readonly %ptr) {448; CHECK-LABEL: load_atomic_i32_unaligned_seq_cst_const:449; CHECK:    bl __atomic_load450    %r = load atomic i32, ptr %ptr seq_cst, align 1451    ret i32 %r452}453 454define dso_local i64 @load_atomic_i64_unaligned_unordered(ptr %ptr) {455; CHECK-LABEL: load_atomic_i64_unaligned_unordered:456; CHECK:    bl __atomic_load457    %r = load atomic i64, ptr %ptr unordered, align 1458    ret i64 %r459}460 461define dso_local i64 @load_atomic_i64_unaligned_unordered_const(ptr readonly %ptr) {462; CHECK-LABEL: load_atomic_i64_unaligned_unordered_const:463; CHECK:    bl __atomic_load464    %r = load atomic i64, ptr %ptr unordered, align 1465    ret i64 %r466}467 468define dso_local i64 @load_atomic_i64_unaligned_monotonic(ptr %ptr) {469; CHECK-LABEL: load_atomic_i64_unaligned_monotonic:470; CHECK:    bl __atomic_load471    %r = load atomic i64, ptr %ptr monotonic, align 1472    ret i64 %r473}474 475define dso_local i64 @load_atomic_i64_unaligned_monotonic_const(ptr readonly %ptr) {476; CHECK-LABEL: load_atomic_i64_unaligned_monotonic_const:477; CHECK:    bl __atomic_load478    %r = load atomic i64, ptr %ptr monotonic, align 1479    ret i64 %r480}481 482define dso_local i64 @load_atomic_i64_unaligned_acquire(ptr %ptr) {483; CHECK-LABEL: load_atomic_i64_unaligned_acquire:484; CHECK:    bl __atomic_load485    %r = load atomic i64, ptr %ptr acquire, align 1486    ret i64 %r487}488 489define dso_local i64 @load_atomic_i64_unaligned_acquire_const(ptr readonly %ptr) {490; CHECK-LABEL: load_atomic_i64_unaligned_acquire_const:491; CHECK:    bl __atomic_load492    %r = load atomic i64, ptr %ptr acquire, align 1493    ret i64 %r494}495 496define dso_local i64 @load_atomic_i64_unaligned_seq_cst(ptr %ptr) {497; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst:498; CHECK:    bl __atomic_load499    %r = load atomic i64, ptr %ptr seq_cst, align 1500    ret i64 %r501}502 503define dso_local i64 @load_atomic_i64_unaligned_seq_cst_const(ptr readonly %ptr) {504; CHECK-LABEL: load_atomic_i64_unaligned_seq_cst_const:505; CHECK:    bl __atomic_load506    %r = load atomic i64, ptr %ptr seq_cst, align 1507    ret i64 %r508}509 510define dso_local i128 @load_atomic_i128_unaligned_unordered(ptr %ptr) {511; CHECK-LABEL: load_atomic_i128_unaligned_unordered:512; CHECK:    bl __atomic_load513    %r = load atomic i128, ptr %ptr unordered, align 1514    ret i128 %r515}516 517define dso_local i128 @load_atomic_i128_unaligned_unordered_const(ptr readonly %ptr) {518; CHECK-LABEL: load_atomic_i128_unaligned_unordered_const:519; CHECK:    bl __atomic_load520    %r = load atomic i128, ptr %ptr unordered, align 1521    ret i128 %r522}523 524define dso_local i128 @load_atomic_i128_unaligned_monotonic(ptr %ptr) {525; CHECK-LABEL: load_atomic_i128_unaligned_monotonic:526; CHECK:    bl __atomic_load527    %r = load atomic i128, ptr %ptr monotonic, align 1528    ret i128 %r529}530 531define dso_local i128 @load_atomic_i128_unaligned_monotonic_const(ptr readonly %ptr) {532; CHECK-LABEL: load_atomic_i128_unaligned_monotonic_const:533; CHECK:    bl __atomic_load534    %r = load atomic i128, ptr %ptr monotonic, align 1535    ret i128 %r536}537 538define dso_local i128 @load_atomic_i128_unaligned_acquire(ptr %ptr) {539; CHECK-LABEL: load_atomic_i128_unaligned_acquire:540; CHECK:    bl __atomic_load541    %r = load atomic i128, ptr %ptr acquire, align 1542    ret i128 %r543}544 545define dso_local i128 @load_atomic_i128_unaligned_acquire_const(ptr readonly %ptr) {546; CHECK-LABEL: load_atomic_i128_unaligned_acquire_const:547; CHECK:    bl __atomic_load548    %r = load atomic i128, ptr %ptr acquire, align 1549    ret i128 %r550}551 552define dso_local i128 @load_atomic_i128_unaligned_seq_cst(ptr %ptr) {553; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst:554; CHECK:    bl __atomic_load555    %r = load atomic i128, ptr %ptr seq_cst, align 1556    ret i128 %r557}558 559define dso_local i128 @load_atomic_i128_unaligned_seq_cst_const(ptr readonly %ptr) {560; CHECK-LABEL: load_atomic_i128_unaligned_seq_cst_const:561; CHECK:    bl __atomic_load562    %r = load atomic i128, ptr %ptr seq_cst, align 1563    ret i128 %r564}565;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:566; -O0: {{.*}}567; -O1: {{.*}}568