brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.8 KiB · 553e8ff Raw
644 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=csky -verify-machineinstrs -csky-no-aliases -mattr=+2e3 < %s \3; RUN:   | FileCheck -check-prefix=CSKY %s4 5define i8 @atomic_load_i8_unordered(ptr %a) nounwind {6; CSKY-LABEL: atomic_load_i8_unordered:7; CSKY:       # %bb.0:8; CSKY-NEXT:    subi16 sp, sp, 49; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill10; CSKY-NEXT:    movi16 a1, 011; CSKY-NEXT:    jsri32 [.LCPI0_0]12; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload13; CSKY-NEXT:    addi16 sp, sp, 414; CSKY-NEXT:    rts1615; CSKY-NEXT:    .p2align 116; CSKY-NEXT:  # %bb.1:17; CSKY-NEXT:    .p2align 218; CSKY-NEXT:  .LCPI0_0:19; CSKY-NEXT:    .long __atomic_load_120;21  %1 = load atomic i8, ptr %a unordered, align 122  ret i8 %123}24 25define i8 @atomic_load_i8_monotonic(ptr %a) nounwind {26; CSKY-LABEL: atomic_load_i8_monotonic:27; CSKY:       # %bb.0:28; CSKY-NEXT:    subi16 sp, sp, 429; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill30; CSKY-NEXT:    movi16 a1, 031; CSKY-NEXT:    jsri32 [.LCPI1_0]32; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload33; CSKY-NEXT:    addi16 sp, sp, 434; CSKY-NEXT:    rts1635; CSKY-NEXT:    .p2align 136; CSKY-NEXT:  # %bb.1:37; CSKY-NEXT:    .p2align 238; CSKY-NEXT:  .LCPI1_0:39; CSKY-NEXT:    .long __atomic_load_140;41  %1 = load atomic i8, ptr %a monotonic, align 142  ret i8 %143}44 45define i8 @atomic_load_i8_acquire(ptr %a) nounwind {46; CSKY-LABEL: atomic_load_i8_acquire:47; CSKY:       # %bb.0:48; CSKY-NEXT:    subi16 sp, sp, 449; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill50; CSKY-NEXT:    movi16 a1, 251; CSKY-NEXT:    jsri32 [.LCPI2_0]52; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload53; CSKY-NEXT:    addi16 sp, sp, 454; CSKY-NEXT:    rts1655; CSKY-NEXT:    .p2align 156; CSKY-NEXT:  # %bb.1:57; CSKY-NEXT:    .p2align 258; CSKY-NEXT:  .LCPI2_0:59; CSKY-NEXT:    .long __atomic_load_160;61  %1 = load atomic i8, ptr %a acquire, align 162  ret i8 %163}64 65define i8 @atomic_load_i8_seq_cst(ptr %a) nounwind {66; CSKY-LABEL: atomic_load_i8_seq_cst:67; CSKY:       # %bb.0:68; CSKY-NEXT:    subi16 sp, sp, 469; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill70; CSKY-NEXT:    movi16 a1, 571; CSKY-NEXT:    jsri32 [.LCPI3_0]72; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload73; CSKY-NEXT:    addi16 sp, sp, 474; CSKY-NEXT:    rts1675; CSKY-NEXT:    .p2align 176; CSKY-NEXT:  # %bb.1:77; CSKY-NEXT:    .p2align 278; CSKY-NEXT:  .LCPI3_0:79; CSKY-NEXT:    .long __atomic_load_180;81  %1 = load atomic i8, ptr %a seq_cst, align 182  ret i8 %183}84 85define i16 @atomic_load_i16_unordered(ptr %a) nounwind {86; CSKY-LABEL: atomic_load_i16_unordered:87; CSKY:       # %bb.0:88; CSKY-NEXT:    subi16 sp, sp, 489; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill90; CSKY-NEXT:    movi16 a1, 091; CSKY-NEXT:    jsri32 [.LCPI4_0]92; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload93; CSKY-NEXT:    addi16 sp, sp, 494; CSKY-NEXT:    rts1695; CSKY-NEXT:    .p2align 196; CSKY-NEXT:  # %bb.1:97; CSKY-NEXT:    .p2align 298; CSKY-NEXT:  .LCPI4_0:99; CSKY-NEXT:    .long __atomic_load_2100;101  %1 = load atomic i16, ptr %a unordered, align 2102  ret i16 %1103}104 105define i16 @atomic_load_i16_monotonic(ptr %a) nounwind {106; CSKY-LABEL: atomic_load_i16_monotonic:107; CSKY:       # %bb.0:108; CSKY-NEXT:    subi16 sp, sp, 4109; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill110; CSKY-NEXT:    movi16 a1, 0111; CSKY-NEXT:    jsri32 [.LCPI5_0]112; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload113; CSKY-NEXT:    addi16 sp, sp, 4114; CSKY-NEXT:    rts16115; CSKY-NEXT:    .p2align 1116; CSKY-NEXT:  # %bb.1:117; CSKY-NEXT:    .p2align 2118; CSKY-NEXT:  .LCPI5_0:119; CSKY-NEXT:    .long __atomic_load_2120;121  %1 = load atomic i16, ptr %a monotonic, align 2122  ret i16 %1123}124 125define i16 @atomic_load_i16_acquire(ptr %a) nounwind {126; CSKY-LABEL: atomic_load_i16_acquire:127; CSKY:       # %bb.0:128; CSKY-NEXT:    subi16 sp, sp, 4129; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill130; CSKY-NEXT:    movi16 a1, 2131; CSKY-NEXT:    jsri32 [.LCPI6_0]132; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload133; CSKY-NEXT:    addi16 sp, sp, 4134; CSKY-NEXT:    rts16135; CSKY-NEXT:    .p2align 1136; CSKY-NEXT:  # %bb.1:137; CSKY-NEXT:    .p2align 2138; CSKY-NEXT:  .LCPI6_0:139; CSKY-NEXT:    .long __atomic_load_2140;141  %1 = load atomic i16, ptr %a acquire, align 2142  ret i16 %1143}144 145define i16 @atomic_load_i16_seq_cst(ptr %a) nounwind {146; CSKY-LABEL: atomic_load_i16_seq_cst:147; CSKY:       # %bb.0:148; CSKY-NEXT:    subi16 sp, sp, 4149; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill150; CSKY-NEXT:    movi16 a1, 5151; CSKY-NEXT:    jsri32 [.LCPI7_0]152; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload153; CSKY-NEXT:    addi16 sp, sp, 4154; CSKY-NEXT:    rts16155; CSKY-NEXT:    .p2align 1156; CSKY-NEXT:  # %bb.1:157; CSKY-NEXT:    .p2align 2158; CSKY-NEXT:  .LCPI7_0:159; CSKY-NEXT:    .long __atomic_load_2160;161  %1 = load atomic i16, ptr %a seq_cst, align 2162  ret i16 %1163}164 165define i32 @atomic_load_i32_unordered(ptr %a) nounwind {166; CSKY-LABEL: atomic_load_i32_unordered:167; CSKY:       # %bb.0:168; CSKY-NEXT:    subi16 sp, sp, 4169; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill170; CSKY-NEXT:    movi16 a1, 0171; CSKY-NEXT:    jsri32 [.LCPI8_0]172; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload173; CSKY-NEXT:    addi16 sp, sp, 4174; CSKY-NEXT:    rts16175; CSKY-NEXT:    .p2align 1176; CSKY-NEXT:  # %bb.1:177; CSKY-NEXT:    .p2align 2178; CSKY-NEXT:  .LCPI8_0:179; CSKY-NEXT:    .long __atomic_load_4180;181  %1 = load atomic i32, ptr %a unordered, align 4182  ret i32 %1183}184 185define i32 @atomic_load_i32_monotonic(ptr %a) nounwind {186; CSKY-LABEL: atomic_load_i32_monotonic:187; CSKY:       # %bb.0:188; CSKY-NEXT:    subi16 sp, sp, 4189; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill190; CSKY-NEXT:    movi16 a1, 0191; CSKY-NEXT:    jsri32 [.LCPI9_0]192; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload193; CSKY-NEXT:    addi16 sp, sp, 4194; CSKY-NEXT:    rts16195; CSKY-NEXT:    .p2align 1196; CSKY-NEXT:  # %bb.1:197; CSKY-NEXT:    .p2align 2198; CSKY-NEXT:  .LCPI9_0:199; CSKY-NEXT:    .long __atomic_load_4200;201  %1 = load atomic i32, ptr %a monotonic, align 4202  ret i32 %1203}204 205define i32 @atomic_load_i32_acquire(ptr %a) nounwind {206; CSKY-LABEL: atomic_load_i32_acquire:207; CSKY:       # %bb.0:208; CSKY-NEXT:    subi16 sp, sp, 4209; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill210; CSKY-NEXT:    movi16 a1, 2211; CSKY-NEXT:    jsri32 [.LCPI10_0]212; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload213; CSKY-NEXT:    addi16 sp, sp, 4214; CSKY-NEXT:    rts16215; CSKY-NEXT:    .p2align 1216; CSKY-NEXT:  # %bb.1:217; CSKY-NEXT:    .p2align 2218; CSKY-NEXT:  .LCPI10_0:219; CSKY-NEXT:    .long __atomic_load_4220;221  %1 = load atomic i32, ptr %a acquire, align 4222  ret i32 %1223}224 225define i32 @atomic_load_i32_seq_cst(ptr %a) nounwind {226; CSKY-LABEL: atomic_load_i32_seq_cst:227; CSKY:       # %bb.0:228; CSKY-NEXT:    subi16 sp, sp, 4229; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill230; CSKY-NEXT:    movi16 a1, 5231; CSKY-NEXT:    jsri32 [.LCPI11_0]232; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload233; CSKY-NEXT:    addi16 sp, sp, 4234; CSKY-NEXT:    rts16235; CSKY-NEXT:    .p2align 1236; CSKY-NEXT:  # %bb.1:237; CSKY-NEXT:    .p2align 2238; CSKY-NEXT:  .LCPI11_0:239; CSKY-NEXT:    .long __atomic_load_4240;241  %1 = load atomic i32, ptr %a seq_cst, align 4242  ret i32 %1243}244 245define i64 @atomic_load_i64_unordered(ptr %a) nounwind {246; CSKY-LABEL: atomic_load_i64_unordered:247; CSKY:       # %bb.0:248; CSKY-NEXT:    subi16 sp, sp, 4249; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill250; CSKY-NEXT:    movi16 a1, 0251; CSKY-NEXT:    jsri32 [.LCPI12_0]252; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload253; CSKY-NEXT:    addi16 sp, sp, 4254; CSKY-NEXT:    rts16255; CSKY-NEXT:    .p2align 1256; CSKY-NEXT:  # %bb.1:257; CSKY-NEXT:    .p2align 2258; CSKY-NEXT:  .LCPI12_0:259; CSKY-NEXT:    .long __atomic_load_8260;261  %1 = load atomic i64, ptr %a unordered, align 8262  ret i64 %1263}264 265define i64 @atomic_load_i64_monotonic(ptr %a) nounwind {266; CSKY-LABEL: atomic_load_i64_monotonic:267; CSKY:       # %bb.0:268; CSKY-NEXT:    subi16 sp, sp, 4269; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill270; CSKY-NEXT:    movi16 a1, 0271; CSKY-NEXT:    jsri32 [.LCPI13_0]272; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload273; CSKY-NEXT:    addi16 sp, sp, 4274; CSKY-NEXT:    rts16275; CSKY-NEXT:    .p2align 1276; CSKY-NEXT:  # %bb.1:277; CSKY-NEXT:    .p2align 2278; CSKY-NEXT:  .LCPI13_0:279; CSKY-NEXT:    .long __atomic_load_8280;281  %1 = load atomic i64, ptr %a monotonic, align 8282  ret i64 %1283}284 285define i64 @atomic_load_i64_acquire(ptr %a) nounwind {286; CSKY-LABEL: atomic_load_i64_acquire:287; CSKY:       # %bb.0:288; CSKY-NEXT:    subi16 sp, sp, 4289; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill290; CSKY-NEXT:    movi16 a1, 2291; CSKY-NEXT:    jsri32 [.LCPI14_0]292; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload293; CSKY-NEXT:    addi16 sp, sp, 4294; CSKY-NEXT:    rts16295; CSKY-NEXT:    .p2align 1296; CSKY-NEXT:  # %bb.1:297; CSKY-NEXT:    .p2align 2298; CSKY-NEXT:  .LCPI14_0:299; CSKY-NEXT:    .long __atomic_load_8300;301  %1 = load atomic i64, ptr %a acquire, align 8302  ret i64 %1303}304 305define i64 @atomic_load_i64_seq_cst(ptr %a) nounwind {306; CSKY-LABEL: atomic_load_i64_seq_cst:307; CSKY:       # %bb.0:308; CSKY-NEXT:    subi16 sp, sp, 4309; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill310; CSKY-NEXT:    movi16 a1, 5311; CSKY-NEXT:    jsri32 [.LCPI15_0]312; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload313; CSKY-NEXT:    addi16 sp, sp, 4314; CSKY-NEXT:    rts16315; CSKY-NEXT:    .p2align 1316; CSKY-NEXT:  # %bb.1:317; CSKY-NEXT:    .p2align 2318; CSKY-NEXT:  .LCPI15_0:319; CSKY-NEXT:    .long __atomic_load_8320;321  %1 = load atomic i64, ptr %a seq_cst, align 8322  ret i64 %1323}324 325define void @atomic_store_i8_unordered(ptr %a, i8 %b) nounwind {326; CSKY-LABEL: atomic_store_i8_unordered:327; CSKY:       # %bb.0:328; CSKY-NEXT:    subi16 sp, sp, 4329; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill330; CSKY-NEXT:    movi16 a2, 0331; CSKY-NEXT:    jsri32 [.LCPI16_0]332; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload333; CSKY-NEXT:    addi16 sp, sp, 4334; CSKY-NEXT:    rts16335; CSKY-NEXT:    .p2align 1336; CSKY-NEXT:  # %bb.1:337; CSKY-NEXT:    .p2align 2338; CSKY-NEXT:  .LCPI16_0:339; CSKY-NEXT:    .long __atomic_store_1340;341  store atomic i8 %b, ptr %a unordered, align 1342  ret void343}344 345define void @atomic_store_i8_monotonic(ptr %a, i8 %b) nounwind {346; CSKY-LABEL: atomic_store_i8_monotonic:347; CSKY:       # %bb.0:348; CSKY-NEXT:    subi16 sp, sp, 4349; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill350; CSKY-NEXT:    movi16 a2, 0351; CSKY-NEXT:    jsri32 [.LCPI17_0]352; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload353; CSKY-NEXT:    addi16 sp, sp, 4354; CSKY-NEXT:    rts16355; CSKY-NEXT:    .p2align 1356; CSKY-NEXT:  # %bb.1:357; CSKY-NEXT:    .p2align 2358; CSKY-NEXT:  .LCPI17_0:359; CSKY-NEXT:    .long __atomic_store_1360;361  store atomic i8 %b, ptr %a monotonic, align 1362  ret void363}364 365define void @atomic_store_i8_release(ptr %a, i8 %b) nounwind {366; CSKY-LABEL: atomic_store_i8_release:367; CSKY:       # %bb.0:368; CSKY-NEXT:    subi16 sp, sp, 4369; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill370; CSKY-NEXT:    movi16 a2, 3371; CSKY-NEXT:    jsri32 [.LCPI18_0]372; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload373; CSKY-NEXT:    addi16 sp, sp, 4374; CSKY-NEXT:    rts16375; CSKY-NEXT:    .p2align 1376; CSKY-NEXT:  # %bb.1:377; CSKY-NEXT:    .p2align 2378; CSKY-NEXT:  .LCPI18_0:379; CSKY-NEXT:    .long __atomic_store_1380;381  store atomic i8 %b, ptr %a release, align 1382  ret void383}384 385define void @atomic_store_i8_seq_cst(ptr %a, i8 %b) nounwind {386; CSKY-LABEL: atomic_store_i8_seq_cst:387; CSKY:       # %bb.0:388; CSKY-NEXT:    subi16 sp, sp, 4389; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill390; CSKY-NEXT:    movi16 a2, 5391; CSKY-NEXT:    jsri32 [.LCPI19_0]392; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload393; CSKY-NEXT:    addi16 sp, sp, 4394; CSKY-NEXT:    rts16395; CSKY-NEXT:    .p2align 1396; CSKY-NEXT:  # %bb.1:397; CSKY-NEXT:    .p2align 2398; CSKY-NEXT:  .LCPI19_0:399; CSKY-NEXT:    .long __atomic_store_1400;401  store atomic i8 %b, ptr %a seq_cst, align 1402  ret void403}404 405define void @atomic_store_i16_unordered(ptr %a, i16 %b) nounwind {406; CSKY-LABEL: atomic_store_i16_unordered:407; CSKY:       # %bb.0:408; CSKY-NEXT:    subi16 sp, sp, 4409; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill410; CSKY-NEXT:    movi16 a2, 0411; CSKY-NEXT:    jsri32 [.LCPI20_0]412; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload413; CSKY-NEXT:    addi16 sp, sp, 4414; CSKY-NEXT:    rts16415; CSKY-NEXT:    .p2align 1416; CSKY-NEXT:  # %bb.1:417; CSKY-NEXT:    .p2align 2418; CSKY-NEXT:  .LCPI20_0:419; CSKY-NEXT:    .long __atomic_store_2420;421  store atomic i16 %b, ptr %a unordered, align 2422  ret void423}424 425define void @atomic_store_i16_monotonic(ptr %a, i16 %b) nounwind {426; CSKY-LABEL: atomic_store_i16_monotonic:427; CSKY:       # %bb.0:428; CSKY-NEXT:    subi16 sp, sp, 4429; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill430; CSKY-NEXT:    movi16 a2, 0431; CSKY-NEXT:    jsri32 [.LCPI21_0]432; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload433; CSKY-NEXT:    addi16 sp, sp, 4434; CSKY-NEXT:    rts16435; CSKY-NEXT:    .p2align 1436; CSKY-NEXT:  # %bb.1:437; CSKY-NEXT:    .p2align 2438; CSKY-NEXT:  .LCPI21_0:439; CSKY-NEXT:    .long __atomic_store_2440;441  store atomic i16 %b, ptr %a monotonic, align 2442  ret void443}444 445define void @atomic_store_i16_release(ptr %a, i16 %b) nounwind {446; CSKY-LABEL: atomic_store_i16_release:447; CSKY:       # %bb.0:448; CSKY-NEXT:    subi16 sp, sp, 4449; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill450; CSKY-NEXT:    movi16 a2, 3451; CSKY-NEXT:    jsri32 [.LCPI22_0]452; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload453; CSKY-NEXT:    addi16 sp, sp, 4454; CSKY-NEXT:    rts16455; CSKY-NEXT:    .p2align 1456; CSKY-NEXT:  # %bb.1:457; CSKY-NEXT:    .p2align 2458; CSKY-NEXT:  .LCPI22_0:459; CSKY-NEXT:    .long __atomic_store_2460;461  store atomic i16 %b, ptr %a release, align 2462  ret void463}464 465define void @atomic_store_i16_seq_cst(ptr %a, i16 %b) nounwind {466; CSKY-LABEL: atomic_store_i16_seq_cst:467; CSKY:       # %bb.0:468; CSKY-NEXT:    subi16 sp, sp, 4469; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill470; CSKY-NEXT:    movi16 a2, 5471; CSKY-NEXT:    jsri32 [.LCPI23_0]472; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload473; CSKY-NEXT:    addi16 sp, sp, 4474; CSKY-NEXT:    rts16475; CSKY-NEXT:    .p2align 1476; CSKY-NEXT:  # %bb.1:477; CSKY-NEXT:    .p2align 2478; CSKY-NEXT:  .LCPI23_0:479; CSKY-NEXT:    .long __atomic_store_2480;481  store atomic i16 %b, ptr %a seq_cst, align 2482  ret void483}484 485define void @atomic_store_i32_unordered(ptr %a, i32 %b) nounwind {486; CSKY-LABEL: atomic_store_i32_unordered:487; CSKY:       # %bb.0:488; CSKY-NEXT:    subi16 sp, sp, 4489; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill490; CSKY-NEXT:    movi16 a2, 0491; CSKY-NEXT:    jsri32 [.LCPI24_0]492; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload493; CSKY-NEXT:    addi16 sp, sp, 4494; CSKY-NEXT:    rts16495; CSKY-NEXT:    .p2align 1496; CSKY-NEXT:  # %bb.1:497; CSKY-NEXT:    .p2align 2498; CSKY-NEXT:  .LCPI24_0:499; CSKY-NEXT:    .long __atomic_store_4500;501  store atomic i32 %b, ptr %a unordered, align 4502  ret void503}504 505define void @atomic_store_i32_monotonic(ptr %a, i32 %b) nounwind {506; CSKY-LABEL: atomic_store_i32_monotonic:507; CSKY:       # %bb.0:508; CSKY-NEXT:    subi16 sp, sp, 4509; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill510; CSKY-NEXT:    movi16 a2, 0511; CSKY-NEXT:    jsri32 [.LCPI25_0]512; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload513; CSKY-NEXT:    addi16 sp, sp, 4514; CSKY-NEXT:    rts16515; CSKY-NEXT:    .p2align 1516; CSKY-NEXT:  # %bb.1:517; CSKY-NEXT:    .p2align 2518; CSKY-NEXT:  .LCPI25_0:519; CSKY-NEXT:    .long __atomic_store_4520;521  store atomic i32 %b, ptr %a monotonic, align 4522  ret void523}524 525define void @atomic_store_i32_release(ptr %a, i32 %b) nounwind {526; CSKY-LABEL: atomic_store_i32_release:527; CSKY:       # %bb.0:528; CSKY-NEXT:    subi16 sp, sp, 4529; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill530; CSKY-NEXT:    movi16 a2, 3531; CSKY-NEXT:    jsri32 [.LCPI26_0]532; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload533; CSKY-NEXT:    addi16 sp, sp, 4534; CSKY-NEXT:    rts16535; CSKY-NEXT:    .p2align 1536; CSKY-NEXT:  # %bb.1:537; CSKY-NEXT:    .p2align 2538; CSKY-NEXT:  .LCPI26_0:539; CSKY-NEXT:    .long __atomic_store_4540;541  store atomic i32 %b, ptr %a release, align 4542  ret void543}544 545define void @atomic_store_i32_seq_cst(ptr %a, i32 %b) nounwind {546; CSKY-LABEL: atomic_store_i32_seq_cst:547; CSKY:       # %bb.0:548; CSKY-NEXT:    subi16 sp, sp, 4549; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill550; CSKY-NEXT:    movi16 a2, 5551; CSKY-NEXT:    jsri32 [.LCPI27_0]552; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload553; CSKY-NEXT:    addi16 sp, sp, 4554; CSKY-NEXT:    rts16555; CSKY-NEXT:    .p2align 1556; CSKY-NEXT:  # %bb.1:557; CSKY-NEXT:    .p2align 2558; CSKY-NEXT:  .LCPI27_0:559; CSKY-NEXT:    .long __atomic_store_4560;561  store atomic i32 %b, ptr %a seq_cst, align 4562  ret void563}564 565define void @atomic_store_i64_unordered(ptr %a, i64 %b) nounwind {566; CSKY-LABEL: atomic_store_i64_unordered:567; CSKY:       # %bb.0:568; CSKY-NEXT:    subi16 sp, sp, 4569; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill570; CSKY-NEXT:    movi16 a3, 0571; CSKY-NEXT:    jsri32 [.LCPI28_0]572; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload573; CSKY-NEXT:    addi16 sp, sp, 4574; CSKY-NEXT:    rts16575; CSKY-NEXT:    .p2align 1576; CSKY-NEXT:  # %bb.1:577; CSKY-NEXT:    .p2align 2578; CSKY-NEXT:  .LCPI28_0:579; CSKY-NEXT:    .long __atomic_store_8580;581  store atomic i64 %b, ptr %a unordered, align 8582  ret void583}584 585define void @atomic_store_i64_monotonic(ptr %a, i64 %b) nounwind {586; CSKY-LABEL: atomic_store_i64_monotonic:587; CSKY:       # %bb.0:588; CSKY-NEXT:    subi16 sp, sp, 4589; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill590; CSKY-NEXT:    movi16 a3, 0591; CSKY-NEXT:    jsri32 [.LCPI29_0]592; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload593; CSKY-NEXT:    addi16 sp, sp, 4594; CSKY-NEXT:    rts16595; CSKY-NEXT:    .p2align 1596; CSKY-NEXT:  # %bb.1:597; CSKY-NEXT:    .p2align 2598; CSKY-NEXT:  .LCPI29_0:599; CSKY-NEXT:    .long __atomic_store_8600;601  store atomic i64 %b, ptr %a monotonic, align 8602  ret void603}604 605define void @atomic_store_i64_release(ptr %a, i64 %b) nounwind {606; CSKY-LABEL: atomic_store_i64_release:607; CSKY:       # %bb.0:608; CSKY-NEXT:    subi16 sp, sp, 4609; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill610; CSKY-NEXT:    movi16 a3, 3611; CSKY-NEXT:    jsri32 [.LCPI30_0]612; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload613; CSKY-NEXT:    addi16 sp, sp, 4614; CSKY-NEXT:    rts16615; CSKY-NEXT:    .p2align 1616; CSKY-NEXT:  # %bb.1:617; CSKY-NEXT:    .p2align 2618; CSKY-NEXT:  .LCPI30_0:619; CSKY-NEXT:    .long __atomic_store_8620;621  store atomic i64 %b, ptr %a release, align 8622  ret void623}624 625define void @atomic_store_i64_seq_cst(ptr %a, i64 %b) nounwind {626; CSKY-LABEL: atomic_store_i64_seq_cst:627; CSKY:       # %bb.0:628; CSKY-NEXT:    subi16 sp, sp, 4629; CSKY-NEXT:    st32.w lr, (sp, 0) # 4-byte Folded Spill630; CSKY-NEXT:    movi16 a3, 5631; CSKY-NEXT:    jsri32 [.LCPI31_0]632; CSKY-NEXT:    ld32.w lr, (sp, 0) # 4-byte Folded Reload633; CSKY-NEXT:    addi16 sp, sp, 4634; CSKY-NEXT:    rts16635; CSKY-NEXT:    .p2align 1636; CSKY-NEXT:  # %bb.1:637; CSKY-NEXT:    .p2align 2638; CSKY-NEXT:  .LCPI31_0:639; CSKY-NEXT:    .long __atomic_store_8640;641  store atomic i64 %b, ptr %a seq_cst, align 8642  ret void643}644