80 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 void @fence_acquire() nounwind {6; CSKY-LABEL: fence_acquire:7; CSKY: # %bb.0:8; CSKY-NEXT: subi16 sp, sp, 49; CSKY-NEXT: st32.w lr, (sp, 0) # 4-byte Folded Spill10; CSKY-NEXT: jsri32 [.LCPI0_0]11; CSKY-NEXT: ld32.w lr, (sp, 0) # 4-byte Folded Reload12; CSKY-NEXT: addi16 sp, sp, 413; CSKY-NEXT: rts1614; CSKY-NEXT: .p2align 115; CSKY-NEXT: # %bb.1:16; CSKY-NEXT: .p2align 217; CSKY-NEXT: .LCPI0_0:18; CSKY-NEXT: .long __sync_synchronize19;20 fence acquire21 ret void22}23 24define void @fence_release() nounwind {25; CSKY-LABEL: fence_release:26; CSKY: # %bb.0:27; CSKY-NEXT: subi16 sp, sp, 428; CSKY-NEXT: st32.w lr, (sp, 0) # 4-byte Folded Spill29; CSKY-NEXT: jsri32 [.LCPI1_0]30; CSKY-NEXT: ld32.w lr, (sp, 0) # 4-byte Folded Reload31; CSKY-NEXT: addi16 sp, sp, 432; CSKY-NEXT: rts1633; CSKY-NEXT: .p2align 134; CSKY-NEXT: # %bb.1:35; CSKY-NEXT: .p2align 236; CSKY-NEXT: .LCPI1_0:37; CSKY-NEXT: .long __sync_synchronize38;39 fence release40 ret void41}42 43define void @fence_acq_rel() nounwind {44; CSKY-LABEL: fence_acq_rel:45; CSKY: # %bb.0:46; CSKY-NEXT: subi16 sp, sp, 447; CSKY-NEXT: st32.w lr, (sp, 0) # 4-byte Folded Spill48; CSKY-NEXT: jsri32 [.LCPI2_0]49; CSKY-NEXT: ld32.w lr, (sp, 0) # 4-byte Folded Reload50; CSKY-NEXT: addi16 sp, sp, 451; CSKY-NEXT: rts1652; CSKY-NEXT: .p2align 153; CSKY-NEXT: # %bb.1:54; CSKY-NEXT: .p2align 255; CSKY-NEXT: .LCPI2_0:56; CSKY-NEXT: .long __sync_synchronize57;58 fence acq_rel59 ret void60}61 62define void @fence_seq_cst() nounwind {63; CSKY-LABEL: fence_seq_cst:64; CSKY: # %bb.0:65; CSKY-NEXT: subi16 sp, sp, 466; CSKY-NEXT: st32.w lr, (sp, 0) # 4-byte Folded Spill67; CSKY-NEXT: jsri32 [.LCPI3_0]68; CSKY-NEXT: ld32.w lr, (sp, 0) # 4-byte Folded Reload69; CSKY-NEXT: addi16 sp, sp, 470; CSKY-NEXT: rts1671; CSKY-NEXT: .p2align 172; CSKY-NEXT: # %bb.1:73; CSKY-NEXT: .p2align 274; CSKY-NEXT: .LCPI3_0:75; CSKY-NEXT: .long __sync_synchronize76;77 fence seq_cst78 ret void79}80