1 ; RUN: llc < %s -march=sparcv9 | FileCheck %s
4 ; CHECK: or %g0, %i1, %i0
5 define i64 @ret2(i64 %a, i64 %b) {
10 ; CHECK: sllx %i0, 7, %i0
11 define i64 @shl_imm(i64 %a) {
17 ; CHECK: srax %i0, %i1, %i0
18 define i64 @sra_reg(i64 %a, i64 %b) {
23 ; Immediate materialization. Many of these patterns could actually be merged
24 ; into the restore instruction:
26 ; restore %g0, %g0, %o0
29 ; CHECK: or %g0, %g0, %i0
30 define i64 @ret_imm0() {
35 ; CHECK: or %g0, -4096, %i0
36 define i64 @ret_simm13() {
44 define i64 @ret_sethi() {
49 ; CHECK: sethi 4, [[R:%[goli][0-7]]]
50 ; CHECK: or [[R]], 1, %i0
51 define i64 @ret_sethi_or() {
56 ; CHECK: sethi 4, [[R:%[goli][0-7]]]
57 ; CHECK: xor [[R]], -4, %i0
58 define i64 @ret_nimm33() {
65 define i64 @ret_bigimm() {
66 ret i64 6800754272627607872