diff options
author | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2009-12-22 14:25:37 +0000 |
---|---|---|
committer | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2009-12-22 14:25:37 +0000 |
commit | 66500208a557f082453d138bf7c30e0c9edfa0a5 (patch) | |
tree | f53bf63389a8d674d5dab7fe217a1d37d287e25b /test/CodeGen/PIC16 | |
parent | a1aa8bba77c5cf2ba164846764ece7d2bd32778a (diff) | |
download | external_llvm-66500208a557f082453d138bf7c30e0c9edfa0a5.zip external_llvm-66500208a557f082453d138bf7c30e0c9edfa0a5.tar.gz external_llvm-66500208a557f082453d138bf7c30e0c9edfa0a5.tar.bz2 |
While converting one of the operands to a memory operand, we need to check if it is Legal and does not result into a cyclic dep.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91904 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PIC16')
-rw-r--r-- | test/CodeGen/PIC16/C16-49.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/CodeGen/PIC16/C16-49.ll b/test/CodeGen/PIC16/C16-49.ll new file mode 100644 index 0000000..e59800b --- /dev/null +++ b/test/CodeGen/PIC16/C16-49.ll @@ -0,0 +1,15 @@ +;RUN: llvm-as < %s | llc -march=pic16 + +@aa = global i16 55, align 1 ; <i16*> [#uses=1] +@bb = global i16 44, align 1 ; <i16*> [#uses=1] +@PORTD = external global i8 ; <i8*> [#uses=1] + +define void @foo() nounwind { +entry: + %tmp = volatile load i16* @aa ; <i16> [#uses=1] + %tmp1 = volatile load i16* @bb ; <i16> [#uses=1] + %sub = sub i16 %tmp, %tmp1 ; <i16> [#uses=1] + %conv = trunc i16 %sub to i8 ; <i8> [#uses=1] + store i8 %conv, i8* @PORTD + ret void +} |