brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 77148f6 Raw
105 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \3; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s4; RUN: llc -mtriple=riscv32 -mattr=+zalrsc -verify-machineinstrs < %s \5; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s6; RUN: llc -mtriple=riscv32 -mattr=+a -verify-machineinstrs < %s \7; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s8; RUN: llc -mtriple=riscv32 -mattr=+a,+ztso -verify-machineinstrs < %s \9; RUN:   | FileCheck --check-prefixes=CHECK,TSO %s10; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \11; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s12; RUN: llc -mtriple=riscv64 -mattr=+zalrsc -verify-machineinstrs < %s \13; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s14; RUN: llc -mtriple=riscv64 -mattr=+a -verify-machineinstrs < %s \15; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s16; RUN: llc -mtriple=riscv64 -mattr=+a,+ztso -verify-machineinstrs < %s \17; RUN:   | FileCheck --check-prefixes=CHECK,TSO %s18 19define void @fence_acquire() nounwind {20; WMO-LABEL: fence_acquire:21; WMO:       # %bb.0:22; WMO-NEXT:    fence r, rw23; WMO-NEXT:    ret24;25; TSO-LABEL: fence_acquire:26; TSO:       # %bb.0:27; TSO-NEXT:    #MEMBARRIER28; TSO-NEXT:    ret29  fence acquire30  ret void31}32 33define void @fence_release() nounwind {34; WMO-LABEL: fence_release:35; WMO:       # %bb.0:36; WMO-NEXT:    fence rw, w37; WMO-NEXT:    ret38;39; TSO-LABEL: fence_release:40; TSO:       # %bb.0:41; TSO-NEXT:    #MEMBARRIER42; TSO-NEXT:    ret43  fence release44  ret void45}46 47define void @fence_acq_rel() nounwind {48; WMO-LABEL: fence_acq_rel:49; WMO:       # %bb.0:50; WMO-NEXT:    fence.tso51; WMO-NEXT:    ret52;53; TSO-LABEL: fence_acq_rel:54; TSO:       # %bb.0:55; TSO-NEXT:    #MEMBARRIER56; TSO-NEXT:    ret57  fence acq_rel58  ret void59}60 61define void @fence_seq_cst() nounwind {62; CHECK-LABEL: fence_seq_cst:63; CHECK:       # %bb.0:64; CHECK-NEXT:    fence rw, rw65; CHECK-NEXT:    ret66  fence seq_cst67  ret void68}69 70define void @fence_singlethread_acquire() nounwind {71; CHECK-LABEL: fence_singlethread_acquire:72; CHECK:       # %bb.0:73; CHECK-NEXT:    #MEMBARRIER74; CHECK-NEXT:    ret75  fence syncscope("singlethread") acquire76  ret void77}78 79define void @fence_singlethread_release() nounwind {80; CHECK-LABEL: fence_singlethread_release:81; CHECK:       # %bb.0:82; CHECK-NEXT:    #MEMBARRIER83; CHECK-NEXT:    ret84  fence syncscope("singlethread") release85  ret void86}87 88define void @fence_singlethread_acq_rel() nounwind {89; CHECK-LABEL: fence_singlethread_acq_rel:90; CHECK:       # %bb.0:91; CHECK-NEXT:    #MEMBARRIER92; CHECK-NEXT:    ret93  fence syncscope("singlethread") acq_rel94  ret void95}96 97define void @fence_singlethread_seq_cst() nounwind {98; CHECK-LABEL: fence_singlethread_seq_cst:99; CHECK:       # %bb.0:100; CHECK-NEXT:    #MEMBARRIER101; CHECK-NEXT:    ret102  fence syncscope("singlethread") seq_cst103  ret void104}105