Imported Upstream version 6.0.0.172

Former-commit-id: f3cc9b82f3e5bd8f0fd3ebc098f789556b44e9cd
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-04-12 14:10:50 +00:00
parent 8016999e4d
commit 64ac736ec5
32155 changed files with 3981439 additions and 75368 deletions

View File

@@ -0,0 +1,32 @@
; RUN: llc < %s
; PR4136
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-unknown-linux-gnu"
@uip_len = external global i16 ; <i16*> [#uses=2]
define void @uip_arp_arpin() nounwind {
entry:
%tmp = load volatile i16, i16* @uip_len ; <i16> [#uses=1]
%cmp = icmp ult i16 %tmp, 42 ; <i1> [#uses=1]
store volatile i16 0, i16* @uip_len
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %entry
ret void
if.end: ; preds = %entry
switch i16 0, label %return [
i16 256, label %sw.bb
i16 512, label %sw.bb18
]
sw.bb: ; preds = %if.end
ret void
sw.bb18: ; preds = %if.end
ret void
return: ; preds = %if.end
ret void
}

View File

@@ -0,0 +1,17 @@
; RUN: llc < %s -march=msp430
define i16 @rol1u16(i16 %x.arg) nounwind {
%retval = alloca i16
%x = alloca i16
store i16 %x.arg, i16* %x
%1 = load i16, i16* %x
%2 = shl i16 %1, 1
%3 = load i16, i16* %x
%4 = lshr i16 %3, 15
%5 = or i16 %2, %4
store i16 %5, i16* %retval
br label %return
return:
%6 = load i16, i16* %retval
ret i16 %6
}

View File

@@ -0,0 +1,15 @@
; RUN: llc < %s -march=msp430 | grep rra | count 1
define i16 @lsr2u16(i16 %x.arg) nounwind {
%retval = alloca i16
%x = alloca i16
store i16 %x.arg, i16* %x
%1 = load i16, i16* %x
%2 = lshr i16 %1, 2
store i16 %2, i16* %retval
br label %return
return:
%3 = load i16, i16* %retval
ret i16 %3
}

View File

@@ -0,0 +1,11 @@
; RUN: llc < %s -march=msp430
define i16 @test(double %d) nounwind {
entry:
%add = fadd double %d, 1.000000e+00
%call = tail call i16 @funct(double %add) nounwind
ret i16 %call
}
declare i16 @funct(double)

View File

@@ -0,0 +1,30 @@
; RUN: llc < %s
; PR4769
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-generic-generic"
define i16 @foo() nounwind readnone {
entry:
%result = alloca i16, align 1 ; <i16*> [#uses=2]
store volatile i16 0, i16* %result
%tmp = load volatile i16, i16* %result ; <i16> [#uses=1]
ret i16 %tmp
}
define i16 @main() nounwind {
entry:
br label %while.cond
while.cond: ; preds = %while.cond, %entry
%call = call i16 @bar() nounwind ; <i16> [#uses=1]
%tobool = icmp eq i16 %call, 0 ; <i1> [#uses=1]
br i1 %tobool, label %while.end, label %while.cond
while.end: ; preds = %while.cond
%result.i = alloca i16, align 1 ; <i16*> [#uses=2]
store volatile i16 0, i16* %result.i
%tmp.i = load volatile i16, i16* %result.i ; <i16> [#uses=0]
ret i16 0
}
declare i16 @bar()

View File

@@ -0,0 +1,22 @@
; RUN: llc < %s | grep 0x0021 | count 2
; PR4776
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-unknown-unknown"
@"\010x0021" = external global i8, align 1 ; <i8*> [#uses=2]
define zeroext i8 @foo(i8 zeroext %x) nounwind {
entry:
%retval = alloca i8 ; <i8*> [#uses=2]
%x.addr = alloca i8 ; <i8*> [#uses=2]
%tmp = alloca i8, align 1 ; <i8*> [#uses=2]
store i8 %x, i8* %x.addr
%tmp1 = load volatile i8, i8* @"\010x0021" ; <i8> [#uses=1]
store i8 %tmp1, i8* %tmp
%tmp2 = load i8, i8* %x.addr ; <i8> [#uses=1]
store volatile i8 %tmp2, i8* @"\010x0021"
%tmp3 = load i8, i8* %tmp ; <i8> [#uses=1]
store i8 %tmp3, i8* %retval
%0 = load i8, i8* %retval ; <i8> [#uses=1]
ret i8 %0
}

View File

@@ -0,0 +1,14 @@
; RUN: llc -march=msp430 < %s
; PR4779
define void @foo() nounwind {
entry:
%r = alloca i8 ; <i8*> [#uses=2]
%"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
load volatile i8, i8* %r, align 1 ; <i8>:0 [#uses=1]
or i8 %0, 1 ; <i8>:1 [#uses=1]
store volatile i8 %1, i8* %r, align 1
br label %return
return: ; preds = %entry
ret void
}

View File

@@ -0,0 +1,64 @@
; RUN: llc < %s
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-elf"
%struct.httpd_fs_file = type { i8*, i16 }
%struct.psock = type { %struct.pt, %struct.pt, i8*, i8*, i8*, i16, i16, %struct.httpd_fs_file, i16, i8, i8 }
%struct.pt = type { i16 }
@foo = external global i8*
define signext i8 @psock_readto(%struct.psock* nocapture %psock, i8 zeroext %c) nounwind {
entry:
switch i16 undef, label %sw.epilog [
i16 0, label %sw.bb
i16 283, label %if.else.i
]
sw.bb: ; preds = %entry
br label %do.body
do.body: ; preds = %while.cond36.i, %while.end.i, %sw.bb
br label %while.cond.i
if.else.i: ; preds = %entry
br i1 undef, label %psock_newdata.exit, label %if.else11.i
if.else11.i: ; preds = %if.else.i
ret i8 0
psock_newdata.exit: ; preds = %if.else.i
ret i8 0
while.cond.i: ; preds = %while.body.i, %do.body
br i1 undef, label %while.end.i, label %while.body.i
while.body.i: ; preds = %while.cond.i
br i1 undef, label %do.end41, label %while.cond.i
while.end.i: ; preds = %while.cond.i
br i1 undef, label %do.body, label %while.cond36.i.preheader
while.cond36.i.preheader: ; preds = %while.end.i
br label %while.cond36.i
while.cond36.i: ; preds = %while.body41.i, %while.cond36.i.preheader
br i1 undef, label %do.body, label %while.body41.i
while.body41.i: ; preds = %while.cond36.i
%tmp43.i = load i8*, i8** @foo ; <i8*> [#uses=2]
%tmp44.i = load i8, i8* %tmp43.i ; <i8> [#uses=1]
%ptrincdec50.i = getelementptr inbounds i8, i8* %tmp43.i, i16 1 ; <i8*> [#uses=1]
store i8* %ptrincdec50.i, i8** @foo
%cmp55.i = icmp eq i8 %tmp44.i, %c ; <i1> [#uses=1]
br i1 %cmp55.i, label %do.end41, label %while.cond36.i
do.end41: ; preds = %while.body41.i, %while.body.i
br i1 undef, label %if.then46, label %sw.epilog
if.then46: ; preds = %do.end41
ret i8 0
sw.epilog: ; preds = %do.end41, %entry
ret i8 2
}

View File

@@ -0,0 +1,36 @@
; RUN: llc -march=msp430 < %s
; PR5558
define i64 @_strtoll_r(i16 %base) nounwind {
entry:
br i1 undef, label %if.then, label %if.end27
if.then: ; preds = %do.end
br label %if.end27
if.end27: ; preds = %if.then, %do.end
%cond66 = select i1 undef, i64 -9223372036854775808, i64 9223372036854775807 ; <i64> [#uses=3]
%conv69 = sext i16 %base to i64 ; <i64> [#uses=1]
%div = udiv i64 %cond66, %conv69 ; <i64> [#uses=1]
br label %for.cond
for.cond: ; preds = %if.end116, %if.end27
br i1 undef, label %if.then152, label %if.then93
if.then93: ; preds = %for.cond
br i1 undef, label %if.end116, label %if.then152
if.end116: ; preds = %if.then93
%cmp123 = icmp ugt i64 undef, %div ; <i1> [#uses=1]
%or.cond = or i1 undef, %cmp123 ; <i1> [#uses=0]
br label %for.cond
if.then152: ; preds = %if.then93, %for.cond
br i1 undef, label %if.end182, label %if.then172
if.then172: ; preds = %if.then152
ret i64 %cond66
if.end182: ; preds = %if.then152
ret i64 %cond66
}

View File

@@ -0,0 +1,13 @@
; RUN: llc < %s
; PR5703
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-unknown-linux-gnu"
define msp430_intrcc void @foo() nounwind {
entry:
%fa = call i8* @llvm.frameaddress(i32 0)
store i8 0, i8* %fa
ret void
}
declare i8* @llvm.frameaddress(i32)

View File

@@ -0,0 +1,29 @@
; RUN: llc < %s
; PR 5570
; ModuleID = 'test.c'
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8-n8:16"
target triple = "msp430-unknown-unknown"
@buf = common global [10 x i8] zeroinitializer, align 1 ; <[10 x i8]*> [#uses=2]
define i16 @main() noreturn nounwind {
entry:
%0 = tail call i8* asm "", "=r,0"(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @buf, i16 0, i16 0)) nounwind ; <i8*> [#uses=1]
%sub.ptr = getelementptr inbounds i8, i8* %0, i16 1 ; <i8*> [#uses=1]
%sub.ptr.lhs.cast = ptrtoint i8* %sub.ptr to i16 ; <i16> [#uses=1]
%sub.ptr.sub = sub i16 %sub.ptr.lhs.cast, ptrtoint ([10 x i8]* @buf to i16) ; <i16> [#uses=1]
%cmp = icmp eq i16 %sub.ptr.sub, 1 ; <i1> [#uses=1]
br i1 %cmp, label %bar.exit, label %if.then.i
if.then.i: ; preds = %entry
tail call void @abort() nounwind
br label %bar.exit
bar.exit: ; preds = %entry, %if.then.i
tail call void @exit(i16 0) nounwind
unreachable
}
declare void @exit(i16) noreturn
declare void @abort()

View File

@@ -0,0 +1,27 @@
; RUN: llc < %s
; PR7001
target datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16"
target triple = "msp430-elf"
define i16 @main() nounwind {
entry:
br label %while.cond
while.cond: ; preds = %while.body, %entry
br i1 undef, label %land.rhs, label %land.end
land.rhs: ; preds = %while.cond
br label %land.end
land.end: ; preds = %land.rhs, %while.cond
%0 = phi i1 [ false, %while.cond ], [ undef, %land.rhs ] ; <i1> [#uses=1]
br i1 %0, label %while.body, label %while.end
while.body: ; preds = %land.end
%tmp4 = load i16, i16* undef ; <i16> [#uses=0]
br label %while.cond
while.end: ; preds = %land.end
ret i16 undef
}

View File

@@ -0,0 +1,74 @@
; RUN: llc < %s -march=msp430 | FileCheck %s
target datalayout = "e-p:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:16:16"
target triple = "msp430-generic-generic"
define i16 @am1(i16 %x, i16* %a) nounwind {
%1 = load i16, i16* %a
%2 = or i16 %1,%x
ret i16 %2
}
; CHECK-LABEL: am1:
; CHECK: bis.w 0(r13), r12
@foo = external global i16
define i16 @am2(i16 %x) nounwind {
%1 = load i16, i16* @foo
%2 = or i16 %1,%x
ret i16 %2
}
; CHECK-LABEL: am2:
; CHECK: bis.w &foo, r12
@bar = internal constant [2 x i8] [ i8 32, i8 64 ]
define i8 @am3(i8 %x, i16 %n) nounwind {
%1 = getelementptr [2 x i8], [2 x i8]* @bar, i16 0, i16 %n
%2 = load i8, i8* %1
%3 = or i8 %2,%x
ret i8 %3
}
; CHECK-LABEL: am3:
; CHECK: bis.b bar(r13), r12
define i16 @am4(i16 %x) nounwind {
%1 = load volatile i16, i16* inttoptr(i16 32 to i16*)
%2 = or i16 %1,%x
ret i16 %2
}
; CHECK-LABEL: am4:
; CHECK: bis.w &32, r12
define i16 @am5(i16 %x, i16* %a) nounwind {
%1 = getelementptr i16, i16* %a, i16 2
%2 = load i16, i16* %1
%3 = or i16 %2,%x
ret i16 %3
}
; CHECK-LABEL: am5:
; CHECK: bis.w 4(r13), r12
%S = type { i16, i16 }
@baz = common global %S zeroinitializer, align 1
define i16 @am6(i16 %x) nounwind {
%1 = load i16, i16* getelementptr (%S, %S* @baz, i32 0, i32 1)
%2 = or i16 %1,%x
ret i16 %2
}
; CHECK-LABEL: am6:
; CHECK: bis.w &baz+2, r12
%T = type { i16, [2 x i8] }
@duh = internal constant %T { i16 16, [2 x i8][i8 32, i8 64 ] }
define i8 @am7(i8 %x, i16 %n) nounwind {
%1 = getelementptr %T, %T* @duh, i32 0, i32 1
%2 = getelementptr [2 x i8], [2 x i8]* %1, i16 0, i16 %n
%3= load i8, i8* %2
%4 = or i8 %3,%x
ret i8 %4
}
; CHECK-LABEL: am7:
; CHECK: bis.b duh+2(r13), r12

View File

@@ -0,0 +1,81 @@
; RUN: llc < %s -march=msp430 | FileCheck %s
target datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:16"
target triple = "msp430-generic-generic"
define void @am1(i16* %a, i16 %x) nounwind {
%1 = load i16, i16* %a
%2 = or i16 %x, %1
store i16 %2, i16* %a
ret void
}
; CHECK-LABEL: am1:
; CHECK: bis.w r13, 0(r12)
@foo = external global i16
define void @am2(i16 %x) nounwind {
%1 = load i16, i16* @foo
%2 = or i16 %x, %1
store i16 %2, i16* @foo
ret void
}
; CHECK-LABEL: am2:
; CHECK: bis.w r12, &foo
@bar = external global [2 x i8]
define void @am3(i16 %i, i8 %x) nounwind {
%1 = getelementptr [2 x i8], [2 x i8]* @bar, i16 0, i16 %i
%2 = load i8, i8* %1
%3 = or i8 %x, %2
store i8 %3, i8* %1
ret void
}
; CHECK-LABEL: am3:
; CHECK: bis.b r13, bar(r12)
define void @am4(i16 %x) nounwind {
%1 = load volatile i16, i16* inttoptr(i16 32 to i16*)
%2 = or i16 %x, %1
store volatile i16 %2, i16* inttoptr(i16 32 to i16*)
ret void
}
; CHECK-LABEL: am4:
; CHECK: bis.w r12, &32
define void @am5(i16* %a, i16 %x) readonly {
%1 = getelementptr inbounds i16, i16* %a, i16 2
%2 = load i16, i16* %1
%3 = or i16 %x, %2
store i16 %3, i16* %1
ret void
}
; CHECK-LABEL: am5:
; CHECK: bis.w r13, 4(r12)
%S = type { i16, i16 }
@baz = common global %S zeroinitializer
define void @am6(i16 %x) nounwind {
%1 = load i16, i16* getelementptr (%S, %S* @baz, i32 0, i32 1)
%2 = or i16 %x, %1
store i16 %2, i16* getelementptr (%S, %S* @baz, i32 0, i32 1)
ret void
}
; CHECK-LABEL: am6:
; CHECK: bis.w r12, &baz+2
%T = type { i16, [2 x i8] }
@duh = external global %T
define void @am7(i16 %n, i8 %x) nounwind {
%1 = getelementptr %T, %T* @duh, i32 0, i32 1
%2 = getelementptr [2 x i8], [2 x i8]* %1, i16 0, i16 %n
%3 = load i8, i8* %2
%4 = or i8 %x, %3
store i8 %4, i8* %2
ret void
}
; CHECK-LABEL: am7:
; CHECK: bis.b r13, duh+2(r12)

View File

@@ -0,0 +1,67 @@
; RUN: llc < %s -march=msp430 | FileCheck %s
target datalayout = "e-p:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:16:16"
target triple = "msp430-generic-generic"
define i16 @am1(i16* %a) nounwind {
%1 = load i16, i16* %a
ret i16 %1
}
; CHECK-LABEL: am1:
; CHECK: mov.w 0(r12), r12
@foo = external global i16
define i16 @am2() nounwind {
%1 = load i16, i16* @foo
ret i16 %1
}
; CHECK-LABEL: am2:
; CHECK: mov.w &foo, r12
@bar = internal constant [2 x i8] [ i8 32, i8 64 ]
define i8 @am3(i16 %n) nounwind {
%1 = getelementptr [2 x i8], [2 x i8]* @bar, i16 0, i16 %n
%2 = load i8, i8* %1
ret i8 %2
}
; CHECK-LABEL: am3:
; CHECK: mov.b bar(r12), r12
define i16 @am4() nounwind {
%1 = load volatile i16, i16* inttoptr(i16 32 to i16*)
ret i16 %1
}
; CHECK-LABEL: am4:
; CHECK: mov.w &32, r12
define i16 @am5(i16* %a) nounwind {
%1 = getelementptr i16, i16* %a, i16 2
%2 = load i16, i16* %1
ret i16 %2
}
; CHECK-LABEL: am5:
; CHECK: mov.w 4(r12), r12
%S = type { i16, i16 }
@baz = common global %S zeroinitializer, align 1
define i16 @am6() nounwind {
%1 = load i16, i16* getelementptr (%S, %S* @baz, i32 0, i32 1)
ret i16 %1
}
; CHECK-LABEL: am6:
; CHECK: mov.w &baz+2, r12
%T = type { i16, [2 x i8] }
@duh = internal constant %T { i16 16, [2 x i8][i8 32, i8 64 ] }
define i8 @am7(i16 %n) nounwind {
%1 = getelementptr %T, %T* @duh, i32 0, i32 1
%2 = getelementptr [2 x i8], [2 x i8]* %1, i16 0, i16 %n
%3= load i8, i8* %2
ret i8 %3
}
; CHECK-LABEL: am7:
; CHECK: mov.b duh+2(r12), r12

View File

@@ -0,0 +1,67 @@
; RUN: llc < %s -march=msp430 | FileCheck %s
target datalayout = "e-p:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:16:16"
target triple = "msp430-generic-generic"
define void @am1(i16* %a, i16 %b) nounwind {
store i16 %b, i16* %a
ret void
}
; CHECK-LABEL: am1:
; CHECK: mov.w r13, 0(r12)
@foo = external global i16
define void @am2(i16 %a) nounwind {
store i16 %a, i16* @foo
ret void
}
; CHECK-LABEL: am2:
; CHECK: mov.w r12, &foo
@bar = external global [2 x i8]
define void @am3(i16 %i, i8 %a) nounwind {
%1 = getelementptr [2 x i8], [2 x i8]* @bar, i16 0, i16 %i
store i8 %a, i8* %1
ret void
}
; CHECK-LABEL: am3:
; CHECK: mov.b r13, bar(r12)
define void @am4(i16 %a) nounwind {
store volatile i16 %a, i16* inttoptr(i16 32 to i16*)
ret void
}
; CHECK-LABEL: am4:
; CHECK: mov.w r12, &32
define void @am5(i16* nocapture %p, i16 %a) nounwind readonly {
%1 = getelementptr inbounds i16, i16* %p, i16 2
store i16 %a, i16* %1
ret void
}
; CHECK-LABEL: am5:
; CHECK: mov.w r13, 4(r12)
%S = type { i16, i16 }
@baz = common global %S zeroinitializer, align 1
define void @am6(i16 %a) nounwind {
store i16 %a, i16* getelementptr (%S, %S* @baz, i32 0, i32 1)
ret void
}
; CHECK-LABEL: am6:
; CHECK: mov.w r12, &baz+2
%T = type { i16, [2 x i8] }
@duh = external global %T
define void @am7(i16 %n, i8 %a) nounwind {
%1 = getelementptr %T, %T* @duh, i32 0, i32 1
%2 = getelementptr [2 x i8], [2 x i8]* %1, i16 0, i16 %n
store i8 %a, i8* %2
ret void
}
; CHECK-LABEL: am7:
; CHECK: mov.b r13, duh+2(r12)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
RUN: llc -O0 -march=msp430 -asm-verbose < %S/../Inputs/DbgValueOtherTargets.ll | FileCheck %S/../Inputs/DbgValueOtherTargets.ll

View File

@@ -0,0 +1,48 @@
; RUN: llc -march=msp430 < %s | FileCheck %s
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-generic-generic"
@foo = common global i16 0, align 2
define void @mov() nounwind {
; CHECK-LABEL: mov:
; CHECK: mov.w #2, &foo
store i16 2, i16 * @foo
ret void
}
define void @add() nounwind {
; CHECK-LABEL: add:
; CHECK: add.w #2, &foo
%1 = load i16, i16* @foo
%2 = add i16 %1, 2
store i16 %2, i16 * @foo
ret void
}
define void @and() nounwind {
; CHECK-LABEL: and:
; CHECK: and.w #2, &foo
%1 = load i16, i16* @foo
%2 = and i16 %1, 2
store i16 %2, i16 * @foo
ret void
}
define void @bis() nounwind {
; CHECK-LABEL: bis:
; CHECK: bis.w #2, &foo
%1 = load i16, i16* @foo
%2 = or i16 %1, 2
store i16 %2, i16 * @foo
ret void
}
define void @xor() nounwind {
; CHECK-LABEL: xor:
; CHECK: xor.w #2, &foo
%1 = load i16, i16* @foo
%2 = xor i16 %1, 2
store i16 %2, i16 * @foo
ret void
}

View File

@@ -0,0 +1,69 @@
; RUN: llc -march=msp430 < %s | FileCheck %s
target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
target triple = "msp430-generic-generic"
@foo = common global i16 0, align 2
@bar = common global i16 0, align 2
define void @mov() nounwind {
; CHECK-LABEL: mov:
; CHECK: mov.w &bar, &foo
%1 = load i16, i16* @bar
store i16 %1, i16* @foo
ret void
}
define void @add() nounwind {
; CHECK-LABEL: add:
; CHECK: add.w &bar, &foo
%1 = load i16, i16* @bar
%2 = load i16, i16* @foo
%3 = add i16 %2, %1
store i16 %3, i16* @foo
ret void
}
define void @and() nounwind {
; CHECK-LABEL: and:
; CHECK: and.w &bar, &foo
%1 = load i16, i16* @bar
%2 = load i16, i16* @foo
%3 = and i16 %2, %1
store i16 %3, i16* @foo
ret void
}
define void @bis() nounwind {
; CHECK-LABEL: bis:
; CHECK: bis.w &bar, &foo
%1 = load i16, i16* @bar
%2 = load i16, i16* @foo
%3 = or i16 %2, %1
store i16 %3, i16* @foo
ret void
}
define void @xor() nounwind {
; CHECK-LABEL: xor:
; CHECK: xor.w &bar, &foo
%1 = load i16, i16* @bar
%2 = load i16, i16* @foo
%3 = xor i16 %2, %1
store i16 %3, i16* @foo
ret void
}
define i16 @mov2() nounwind {
entry:
%retval = alloca i16 ; <i16*> [#uses=3]
%x = alloca i32, align 2 ; <i32*> [#uses=1]
%y = alloca i32, align 2 ; <i32*> [#uses=1]
store i16 0, i16* %retval
%tmp = load i32, i32* %y ; <i32> [#uses=1]
store i32 %tmp, i32* %x
store i16 0, i16* %retval
%0 = load i16, i16* %retval ; <i16> [#uses=1]
ret i16 %0
; CHECK-LABEL: mov2:
; CHECK-DAG: mov.w 2(r1), 6(r1)
; CHECK-DAG: mov.w 0(r1), 4(r1)
}

Some files were not shown because too many files have changed in this diff Show More