brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · aecc66d Raw
101 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -global-isel -verify-machineinstrs < %s \3; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s4; RUN: llc -mtriple=riscv32 -mattr=+a -global-isel -verify-machineinstrs < %s \5; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s6; RUN: llc -mtriple=riscv32 -mattr=+a,+ztso -global-isel -verify-machineinstrs < %s \7; RUN:   | FileCheck --check-prefixes=CHECK,TSO %s8; RUN: llc -mtriple=riscv64 -global-isel -verify-machineinstrs < %s \9; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s10; RUN: llc -mtriple=riscv64 -mattr=+a -global-isel -verify-machineinstrs < %s \11; RUN:   | FileCheck --check-prefixes=CHECK,WMO %s12; RUN: llc -mtriple=riscv64 -mattr=+a,+ztso -global-isel -verify-machineinstrs < %s \13; RUN:   | FileCheck --check-prefixes=CHECK,TSO %s14 15define void @fence_acquire() nounwind {16; WMO-LABEL: fence_acquire:17; WMO:       # %bb.0:18; WMO-NEXT:    fence r, rw19; WMO-NEXT:    ret20;21; TSO-LABEL: fence_acquire:22; TSO:       # %bb.0:23; TSO-NEXT:    #MEMBARRIER24; TSO-NEXT:    ret25  fence acquire26  ret void27}28 29define void @fence_release() nounwind {30; WMO-LABEL: fence_release:31; WMO:       # %bb.0:32; WMO-NEXT:    fence rw, w33; WMO-NEXT:    ret34;35; TSO-LABEL: fence_release:36; TSO:       # %bb.0:37; TSO-NEXT:    #MEMBARRIER38; TSO-NEXT:    ret39  fence release40  ret void41}42 43define void @fence_acq_rel() nounwind {44; WMO-LABEL: fence_acq_rel:45; WMO:       # %bb.0:46; WMO-NEXT:    fence.tso47; WMO-NEXT:    ret48;49; TSO-LABEL: fence_acq_rel:50; TSO:       # %bb.0:51; TSO-NEXT:    #MEMBARRIER52; TSO-NEXT:    ret53  fence acq_rel54  ret void55}56 57define void @fence_seq_cst() nounwind {58; CHECK-LABEL: fence_seq_cst:59; CHECK:       # %bb.0:60; CHECK-NEXT:    fence rw, rw61; CHECK-NEXT:    ret62  fence seq_cst63  ret void64}65 66define void @fence_singlethread_acquire() nounwind {67; CHECK-LABEL: fence_singlethread_acquire:68; CHECK:       # %bb.0:69; CHECK-NEXT:    #MEMBARRIER70; CHECK-NEXT:    ret71  fence syncscope("singlethread") acquire72  ret void73}74 75define void @fence_singlethread_release() nounwind {76; CHECK-LABEL: fence_singlethread_release:77; CHECK:       # %bb.0:78; CHECK-NEXT:    #MEMBARRIER79; CHECK-NEXT:    ret80  fence syncscope("singlethread") release81  ret void82}83 84define void @fence_singlethread_acq_rel() nounwind {85; CHECK-LABEL: fence_singlethread_acq_rel:86; CHECK:       # %bb.0:87; CHECK-NEXT:    #MEMBARRIER88; CHECK-NEXT:    ret89  fence syncscope("singlethread") acq_rel90  ret void91}92 93define void @fence_singlethread_seq_cst() nounwind {94; CHECK-LABEL: fence_singlethread_seq_cst:95; CHECK:       # %bb.0:96; CHECK-NEXT:    #MEMBARRIER97; CHECK-NEXT:    ret98  fence syncscope("singlethread") seq_cst99  ret void100}101