1 ; RUN: llc -march=mips -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=ALL 2 ; RUN: llc -march=mips -mcpu=mips32r6 < %s | FileCheck %s -check-prefix=ALL 3 ; RUN: llc -march=mips64 -mcpu=mips64r2 < %s | \ 4 ; RUN: FileCheck %s -check-prefix=ALL -check-prefix=M64 5 ; RUN: llc -march=mips64 -mcpu=mips64r6 < %s | \ 6 ; RUN: FileCheck %s -check-prefix=ALL -check-prefix=M64 7 8 define void @store_i8(i8* %ptr, i8 signext %v) { 9 ; ALL-LABEL: store_i8 10 11 ; ALL: sync 12 ; ALL: sb $5, 0($4) 13 store atomic i8 %v, i8* %ptr release, align 1 14 ret void 15 } 16 17 define void @store_i16(i16* %ptr, i16 signext %v) { 18 ; ALL-LABEL: store_i16 19 20 ; ALL: sync 21 ; ALL: sh $5, 0($4) 22 store atomic i16 %v, i16* %ptr release, align 2 23 ret void 24 } 25 26 define void @store_i32(i32* %ptr, i32 signext %v) { 27 ; ALL-LABEL: store_i32 28 29 ; ALL: sync 30 ; ALL: sw $5, 0($4) 31 store atomic i32 %v, i32* %ptr release, align 4 32 ret void 33 } 34 35 define void @store_i64(i64* %ptr, i64 %v) { 36 ; M64-LABEL: store_i64 37 38 ; M64: sync 39 ; M64: sd $5, 0($4) 40 store atomic i64 %v, i64* %ptr release, align 8 41 ret void 42 } 43