50 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=riscv32 < %s | FileCheck --check-prefix=RV32 %s3; RUN: llc -mtriple=riscv64 < %s | FileCheck --check-prefix=RV64 %s4; RUN: llc -mtriple=riscv32-unknown-linux-gnu < %s | FileCheck --check-prefix=RV32-LINUX %s5; RUN: llc -mtriple=riscv64-unknown-linux-gnu < %s | FileCheck --check-prefix=RV64-LINUX %s6; RUN: llc -mtriple=riscv32-unknown-linux-musl < %s | FileCheck --check-prefix=RV32-LINUX %s7; RUN: llc -mtriple=riscv64-unknown-linux-musl < %s | FileCheck --check-prefix=RV64-LINUX %s8 9define void @foo(ptr %a, ptr %b) nounwind {10; RV32-LABEL: foo:11; RV32: # %bb.0:12; RV32-NEXT: addi sp, sp, -1613; RV32-NEXT: sw ra, 12(sp) # 4-byte Folded Spill14; RV32-NEXT: call __clear_cache15; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload16; RV32-NEXT: addi sp, sp, 1617; RV32-NEXT: ret18;19; RV64-LABEL: foo:20; RV64: # %bb.0:21; RV64-NEXT: addi sp, sp, -1622; RV64-NEXT: sd ra, 8(sp) # 8-byte Folded Spill23; RV64-NEXT: call __clear_cache24; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload25; RV64-NEXT: addi sp, sp, 1626; RV64-NEXT: ret27;28; RV32-LINUX-LABEL: foo:29; RV32-LINUX: # %bb.0:30; RV32-LINUX-NEXT: addi sp, sp, -1631; RV32-LINUX-NEXT: sw ra, 12(sp) # 4-byte Folded Spill32; RV32-LINUX-NEXT: li a2, 033; RV32-LINUX-NEXT: call __riscv_flush_icache34; RV32-LINUX-NEXT: lw ra, 12(sp) # 4-byte Folded Reload35; RV32-LINUX-NEXT: addi sp, sp, 1636; RV32-LINUX-NEXT: ret37;38; RV64-LINUX-LABEL: foo:39; RV64-LINUX: # %bb.0:40; RV64-LINUX-NEXT: addi sp, sp, -1641; RV64-LINUX-NEXT: sd ra, 8(sp) # 8-byte Folded Spill42; RV64-LINUX-NEXT: li a2, 043; RV64-LINUX-NEXT: call __riscv_flush_icache44; RV64-LINUX-NEXT: ld ra, 8(sp) # 8-byte Folded Reload45; RV64-LINUX-NEXT: addi sp, sp, 1646; RV64-LINUX-NEXT: ret47 call void @llvm.clear_cache(ptr %a, ptr %b)48 ret void49}50