|  | ; RUN: llc -verify-machineinstrs -O0 -mcpu=pwr7 -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s | 
|  |  | 
|  | define zeroext i32 @f1() { | 
|  | entry: | 
|  | ret i32 65535 | 
|  | } | 
|  | ; CHECK-LABEL: @f1 | 
|  | ; CHECK: lis 3, 0 | 
|  | ; CHECK: ori 3, 3, 65535 | 
|  |  | 
|  | define zeroext i32 @f2() { | 
|  | entry: | 
|  | ret i32 32768 | 
|  | } | 
|  | ; CHECK-LABEL: @f2 | 
|  | ; CHECK: lis 3, 0 | 
|  | ; CHECK: ori 3, 3, 32768 | 
|  |  | 
|  | define zeroext i32 @f3() { | 
|  | entry: | 
|  | ret i32 32767 | 
|  | } | 
|  | ; CHECK-LABEL: @f3 | 
|  | ; CHECK: li 3, 32767 | 
|  |  | 
|  | define zeroext i16 @f4() { | 
|  | entry: | 
|  | ret i16 65535 | 
|  | } | 
|  | ; CHECK-LABEL: @f4 | 
|  | ; CHECK: lis 3, 0 | 
|  | ; CHECK: ori 3, 3, 65535 | 
|  |  | 
|  | define zeroext i16 @f5() { | 
|  | entry: | 
|  | ret i16 32768 | 
|  | } | 
|  | ; CHECK-LABEL: @f5 | 
|  | ; CHECK: lis 3, 0 | 
|  | ; CHECK: ori 3, 3, 32768 | 
|  |  | 
|  | define zeroext i16 @f6() { | 
|  | entry: | 
|  | ret i16 32767 | 
|  | } | 
|  | ; CHECK-LABEL: @f6 | 
|  | ; CHECK: li 3, 32767 | 
|  |  | 
|  | define zeroext i16 @f7() { | 
|  | entry: | 
|  | ret i16 -1 | 
|  | } | 
|  | ; CHECK-LABEL: @f7 | 
|  | ; CHECK: lis 3, 0 | 
|  | ; CHECK: ori 3, 3, 65535 | 
|  |  | 
|  | define zeroext i16 @f8() { | 
|  | entry: | 
|  | ret i16 -32768 | 
|  | } | 
|  | ; CHECK-LABEL: @f8 | 
|  | ; CHECK: lis 3, 0 | 
|  | ; CHECK: ori 3, 3, 32768 | 
|  |  | 
|  | define signext i32 @f1s() { | 
|  | entry: | 
|  | ret i32 65535 | 
|  | } | 
|  | ; CHECK-LABEL: @f1s | 
|  | ; CHECK: lis 3, 0 | 
|  | ; CHECK: ori 3, 3, 65535 | 
|  |  | 
|  | define signext i32 @f2s() { | 
|  | entry: | 
|  | ret i32 32768 | 
|  | } | 
|  | ; CHECK-LABEL: @f2s | 
|  | ; CHECK: lis 3, 0 | 
|  | ; CHECK: ori 3, 3, 32768 | 
|  |  | 
|  | define signext i32 @f3s() { | 
|  | entry: | 
|  | ret i32 32767 | 
|  | } | 
|  | ; CHECK-LABEL: @f3s | 
|  | ; CHECK: li 3, 32767 | 
|  |  | 
|  | define signext i16 @f4s() { | 
|  | entry: | 
|  | ret i16 32767 | 
|  | } | 
|  | ; CHECK-LABEL: @f4s | 
|  | ; CHECK: li 3, 32767 | 
|  |  | 
|  | define signext i32 @f1sn() { | 
|  | entry: | 
|  | ret i32 -65535 | 
|  | } | 
|  | ; CHECK-LABEL: @f1sn | 
|  | ; CHECK: lis 3, -1 | 
|  | ; CHECK: ori 3, 3, 1 | 
|  |  | 
|  | define signext i32 @f2sn() { | 
|  | entry: | 
|  | ret i32 -32768 | 
|  | } | 
|  | ; CHECK-LABEL: @f2sn | 
|  | ; CHECK: li 3, -32768 | 
|  |  | 
|  | define signext i32 @f3sn() { | 
|  | entry: | 
|  | ret i32 -32767 | 
|  | } | 
|  | ; CHECK-LABEL: @f3sn | 
|  | ; CHECK: li 3, -32767 | 
|  |  | 
|  | define signext i32 @f4sn() { | 
|  | entry: | 
|  | ret i32 -65536 | 
|  | } | 
|  | ; CHECK-LABEL: @f4sn | 
|  | ; CHECK: lis 3, -1 | 
|  |  | 
|  | define signext i16 @f5sn() { | 
|  | entry: | 
|  | ret i16 -32767 | 
|  | } | 
|  | ; CHECK-LABEL: @f5sn | 
|  | ; CHECK: li 3, -32767 | 
|  |  | 
|  | define signext i16 @f6sn() { | 
|  | entry: | 
|  | ret i16 -32768 | 
|  | } | 
|  | ; CHECK-LABEL: @f6sn | 
|  | ; CHECK: li 3, -32768 |