| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| ; RUN: llc --mtriple=mipsel-linux-gnu -mcpu=mips1 < %s | FileCheck %s --check-prefix=MIPS1 |
| ; RUN: llc --mtriple=mipsel-linux-gnu -mcpu=mips2 < %s | FileCheck %s --check-prefix=MIPS2 |
| |
| define void @fence_singlethread() { |
| ; MIPS1-LABEL: fence_singlethread: |
| ; MIPS1: # %bb.0: |
| ; MIPS1-NEXT: #MEMBARRIER |
| ; MIPS1-NEXT: jr $ra |
| ; MIPS1-NEXT: nop |
| |
| ; MIPS2-LABEL: fence_singlethread: |
| ; MIPS2: # %bb.0: |
| ; MIPS2-NEXT: #MEMBARRIER |
| ; MIPS2-NEXT: jr $ra |
| ; MIPS2-NEXT: nop |
| |
| fence syncscope("singlethread") seq_cst |
| ret void |
| } |
| |
| define void @fence() { |
| ; MIPS1-LABEL: fence: |
| ; MIPS1: # %bb.0: |
| ; MIPS1-NEXT: #MEMBARRIER |
| ; MIPS1-NEXT: jr $ra |
| ; MIPS1-NEXT: nop |
| |
| ; MIPS2-LABEL: fence: |
| ; MIPS2: # %bb.0: |
| ; MIPS2-NEXT: sync |
| ; MIPS2-NEXT: jr $ra |
| ; MIPS2-NEXT: nop |
| |
| fence seq_cst |
| ret void |
| } |