1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -mtriple=xtensa -verify-machineinstrs < %s \
; RUN: | FileCheck %s
define i64 @test_1(i32 %v) {
; CHECK-LABEL: test_1:
; CHECK: .cfi_startproc
; CHECK-NEXT: # %bb.0:
; CHECK-NEXT: l32r a8, .LCPI0_0
; CHECK-NEXT: add a2, a2, a8
; CHECK-NEXT: movi a3, 0
; CHECK-NEXT: ret
%addres = add i32 %v, -65536
%res = zext i32 %addres to i64
ret i64 %res
}
define i64 @test_2(i32 %v) {
; CHECK-LABEL: test_2:
; CHECK: .cfi_startproc
; CHECK-NEXT: # %bb.0:
; CHECK-NEXT: l32r a8, .LCPI1_0
; CHECK-NEXT: add a2, a2, a8
; CHECK-NEXT: movi a3, 0
; CHECK-NEXT: ret
%addres = add i32 %v, 65536
%res = zext i32 %addres to i64
ret i64 %res
}
define i64 @test_3(i32 %v) {
; CHECK-LABEL: test_3:
; CHECK: .cfi_startproc
; CHECK-NEXT: # %bb.0:
; CHECK-NEXT: addmi a2, a2, -32768
; CHECK-NEXT: movi a3, 0
; CHECK-NEXT: ret
%addres = add i32 %v, -32768
%res = zext i32 %addres to i64
ret i64 %res
}
define i64 @test_4(i32 %v) {
; CHECK-LABEL: test_4:
; CHECK: .cfi_startproc
; CHECK-NEXT: # %bb.0:
; CHECK-NEXT: addmi a2, a2, 32512
; CHECK-NEXT: movi a3, 0
; CHECK-NEXT: ret
%addres = add i32 %v, 32512
%res = zext i32 %addres to i64
ret i64 %res
}
|