1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc --mtriple=loongarch32 -mattr=+d < %s | FileCheck %s --check-prefix=LA32 3; RUN: llc --mtriple=loongarch64 -mattr=+d < %s | FileCheck %s --check-prefix=LA64 4 5define void @fence_acquire() nounwind { 6; LA32-LABEL: fence_acquire: 7; LA32: # %bb.0: 8; LA32-NEXT: dbar 20 9; LA32-NEXT: ret 10; 11; LA64-LABEL: fence_acquire: 12; LA64: # %bb.0: 13; LA64-NEXT: dbar 20 14; LA64-NEXT: ret 15 fence acquire 16 ret void 17} 18 19define void @fence_release() nounwind { 20; LA32-LABEL: fence_release: 21; LA32: # %bb.0: 22; LA32-NEXT: dbar 18 23; LA32-NEXT: ret 24; 25; LA64-LABEL: fence_release: 26; LA64: # %bb.0: 27; LA64-NEXT: dbar 18 28; LA64-NEXT: ret 29 fence release 30 ret void 31} 32 33define void @fence_acq_rel() nounwind { 34; LA32-LABEL: fence_acq_rel: 35; LA32: # %bb.0: 36; LA32-NEXT: dbar 16 37; LA32-NEXT: ret 38; 39; LA64-LABEL: fence_acq_rel: 40; LA64: # %bb.0: 41; LA64-NEXT: dbar 16 42; LA64-NEXT: ret 43 fence acq_rel 44 ret void 45} 46 47define void @fence_seq_cst() nounwind { 48; LA32-LABEL: fence_seq_cst: 49; LA32: # %bb.0: 50; LA32-NEXT: dbar 16 51; LA32-NEXT: ret 52; 53; LA64-LABEL: fence_seq_cst: 54; LA64: # %bb.0: 55; LA64-NEXT: dbar 16 56; LA64-NEXT: ret 57 fence seq_cst 58 ret void 59} 60