File tree Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Original file line number Diff line number Diff line change 2
2
; RUN: llc -O0 -mtriple=riscv32 -mattr=+xandesperf -verify-machineinstrs < %s \
3
3
; RUN: | FileCheck %s
4
4
5
+ define i32 @and32_0xfff (i32 %x ) {
6
+ ; CHECK-LABEL: and32_0xfff:
7
+ ; CHECK: # %bb.0:
8
+ ; CHECK-NEXT: slli a0, a0, 20
9
+ ; CHECK-NEXT: srli a0, a0, 20
10
+ ; CHECK-NEXT: ret
11
+ %a = and i32 %x , 4095
12
+ ret i32 %a
13
+ }
14
+
15
+ define i64 @and64_0xfff (i64 %x ) {
16
+ ; CHECK-LABEL: and64_0xfff:
17
+ ; CHECK: # %bb.0:
18
+ ; CHECK-NEXT: # kill: def $x11 killed $x10
19
+ ; CHECK-NEXT: slli a0, a0, 20
20
+ ; CHECK-NEXT: srli a0, a0, 20
21
+ ; CHECK-NEXT: li a1, 0
22
+ ; CHECK-NEXT: ret
23
+ %a = and i64 %x , 4095
24
+ ret i64 %a
25
+ }
26
+
5
27
define i32 @sexti1_i32 (i32 %a ) {
6
28
; CHECK-LABEL: sexti1_i32:
7
29
; CHECK: # %bb.0:
Original file line number Diff line number Diff line change 2
2
; RUN: llc -mtriple=riscv64 -mattr=+xandesperf -verify-machineinstrs < %s \
3
3
; RUN: | FileCheck %s
4
4
5
+ define i32 @and32_0xfff (i32 %x ) {
6
+ ; CHECK-LABEL: and32_0xfff:
7
+ ; CHECK: # %bb.0:
8
+ ; CHECK-NEXT: slli a0, a0, 52
9
+ ; CHECK-NEXT: srli a0, a0, 52
10
+ ; CHECK-NEXT: ret
11
+ %a = and i32 %x , 4095
12
+ ret i32 %a
13
+ }
14
+
15
+ define i64 @and64_0xfff (i64 %x ) {
16
+ ; CHECK-LABEL: and64_0xfff:
17
+ ; CHECK: # %bb.0:
18
+ ; CHECK-NEXT: slli a0, a0, 52
19
+ ; CHECK-NEXT: srli a0, a0, 52
20
+ ; CHECK-NEXT: ret
21
+ %a = and i64 %x , 4095
22
+ ret i64 %a
23
+ }
24
+
5
25
define signext i32 @sexti1_i32 (i32 signext %a ) {
6
26
; CHECK-LABEL: sexti1_i32:
7
27
; CHECK: # %bb.0:
You can’t perform that action at this time.
0 commit comments