45 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; Test get the address of constant pool without grs instruction3; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky | FileCheck %s --check-prefix=GENERIC4 5declare i32 @llvm.cttz.i32(i32, i1)6 7define void @cttztest(i32 %C, ptr %CP) {8; GENERIC-LABEL: cttztest:9; GENERIC: # %bb.0:10; GENERIC-NEXT: .cfi_def_cfa_offset 011; GENERIC-NEXT: subi16 sp, sp, 412; GENERIC-NEXT: .cfi_def_cfa_offset 413; GENERIC-NEXT: movi16 a2, 014; GENERIC-NEXT: subu16 a2, a2, a015; GENERIC-NEXT: and16 a2, a016; GENERIC-NEXT: movi16 a0, 717; GENERIC-NEXT: lsli16 a0, a0, 2418; GENERIC-NEXT: movi16 a3, 12419; GENERIC-NEXT: lsli16 a3, a3, 1620; GENERIC-NEXT: or16 a3, a021; GENERIC-NEXT: movi16 a0, 18122; GENERIC-NEXT: lsli16 a0, a0, 823; GENERIC-NEXT: or16 a0, a324; GENERIC-NEXT: movi16 a3, 4925; GENERIC-NEXT: or16 a3, a026; GENERIC-NEXT: mult16 a3, a227; GENERIC-NEXT: lsri16 a0, a3, 2728; GENERIC-NEXT: lrw32 a2, [.LCPI0_1]29; GENERIC-NEXT: addu16 a0, a2, a030; GENERIC-NEXT: ld16.b a0, (a0, 0)31; GENERIC-NEXT: st16.w a0, (a1, 0)32; GENERIC-NEXT: addi16 sp, sp, 433; GENERIC-NEXT: rts1634; GENERIC-NEXT: .p2align 135; GENERIC-NEXT: # %bb.1:36; GENERIC-NEXT: .p2align 2, 0x037; GENERIC-NEXT: .LCPI0_1:38; GENERIC-NEXT: .long .LCPI0_039; GENERIC-NEXT: .LCPI0_0:40; GENERIC-NEXT: .ascii "\000\001\034\002\035\016\030\003\036\026\024\017\031\021\004\b\037\033\r\027\025\023\020\007\032\f\022\006\013\005\n\t"41 %c = call i32 @llvm.cttz.i32( i32 %C, i1 true )42 store i32 %c, ptr %CP43 ret void44}45