mirror of
https://github.com/RPCS3/llvm.git
synced 2025-05-16 10:26:23 +00:00

This patch switches the default for -riscv-no-aliases to false and updates all affected MC and CodeGen tests. As recommended in D41071, MC tests use the canonical instructions and the CodeGen tests use the aliases. Additionally, for the f and d instructions with rounding mode, the tests for the aliased versions are moved and tightened such that they can actually detect if alias emission is enabled. (see D40902 for context) Differential Revision: https://reviews.llvm.org/D41225 Patch by Mario Werner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320797 91177308-0d34-0410-b5e6-96231b3b80d8
25 lines
743 B
LLVM
25 lines
743 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \
|
|
; RUN: | FileCheck %s -check-prefix=RV32I
|
|
|
|
define i32 @bare_select(i1 %a, i32 %b, i32 %c) {
|
|
; RV32I-LABEL: bare_select:
|
|
; RV32I: # %bb.0:
|
|
; RV32I-NEXT: addi sp, sp, -16
|
|
; RV32I-NEXT: sw ra, 12(sp)
|
|
; RV32I-NEXT: sw s0, 8(sp)
|
|
; RV32I-NEXT: addi s0, sp, 16
|
|
; RV32I-NEXT: andi a0, a0, 1
|
|
; RV32I-NEXT: bnez a0, .LBB0_2
|
|
; RV32I-NEXT: # %bb.1:
|
|
; RV32I-NEXT: mv a1, a2
|
|
; RV32I-NEXT: .LBB0_2:
|
|
; RV32I-NEXT: mv a0, a1
|
|
; RV32I-NEXT: lw s0, 8(sp)
|
|
; RV32I-NEXT: lw ra, 12(sp)
|
|
; RV32I-NEXT: addi sp, sp, 16
|
|
; RV32I-NEXT: ret
|
|
%1 = select i1 %a, i32 %b, i32 %c
|
|
ret i32 %1
|
|
}
|