xref: /aosp_15_r20/external/llvm/test/CodeGen/MSP430/inline-asm.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s
2*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
3*9880d681SAndroid Build Coastguard Workertarget triple = "msp430-generic-generic"
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine void @imm() nounwind {
6*9880d681SAndroid Build Coastguard Worker        call void asm sideeffect "bic\09$0,r2", "i"(i16 32) nounwind
7*9880d681SAndroid Build Coastguard Worker        ret void
8*9880d681SAndroid Build Coastguard Worker}
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdefine void @reg(i16 %a) nounwind {
11*9880d681SAndroid Build Coastguard Worker        call void asm sideeffect "bic\09$0,r2", "r"(i16 %a) nounwind
12*9880d681SAndroid Build Coastguard Worker        ret void
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker@foo = global i16 0, align 2
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerdefine void @immmem() nounwind {
18*9880d681SAndroid Build Coastguard Worker        call void asm sideeffect "bic\09$0,r2", "i"(i16* getelementptr(i16, i16* @foo, i32 1)) nounwind
19*9880d681SAndroid Build Coastguard Worker        ret void
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workerdefine void @mem() nounwind {
23*9880d681SAndroid Build Coastguard Worker        %fooval = load i16, i16* @foo
24*9880d681SAndroid Build Coastguard Worker        call void asm sideeffect "bic\09$0,r2", "m"(i16 %fooval) nounwind
25*9880d681SAndroid Build Coastguard Worker        ret void
26*9880d681SAndroid Build Coastguard Worker}
27