Home | History | Annotate | Download | only in MSP430
      1 ; RUN: llc < %s | FileCheck %s
      2 
      3 target datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16"
      4 target triple = "msp430---elf"
      5 
      6 %struct.Foo = type { i16, i16, i16 }
      7 @foo = global %struct.Foo { i16 1, i16 2, i16 3 }, align 2
      8 
      9 define i16 @callee(%struct.Foo* byval %f) nounwind {
     10 entry:
     11 ; CHECK-LABEL: callee:
     12 ; CHECK: mov.w 2(r1), r15
     13   %0 = getelementptr inbounds %struct.Foo* %f, i32 0, i32 0
     14   %1 = load i16* %0, align 2
     15   ret i16 %1
     16 }
     17 
     18 define void @caller() nounwind {
     19 entry:
     20 ; CHECK-LABEL: caller:
     21 ; CHECK: mov.w &foo+4, 4(r1)
     22 ; CHECK-NEXT: mov.w &foo+2, 2(r1)
     23 ; CHECK-NEXT: mov.w &foo, 0(r1)
     24   %call = call i16 @callee(%struct.Foo* byval @foo)
     25   ret void
     26 }
     27