diff options
author | Alex Bradbury <asb@lowrisc.org> | 2017-12-15 09:47:01 +0000 |
---|---|---|
committer | Alex Bradbury <asb@lowrisc.org> | 2017-12-15 09:47:01 +0000 |
commit | 59136ffab1b0b051d2b56a90b8fb86d5721ed0b5 (patch) | |
tree | 24622ca1fac71461163cdad8ee91cf5f9ab32caf /llvm/test/MC/RISCV/rv32f-valid.s | |
parent | 4b86d7904863b3d0e552db37f455fe76430e6d46 (diff) | |
download | bcm5719-llvm-59136ffab1b0b051d2b56a90b8fb86d5721ed0b5.tar.gz bcm5719-llvm-59136ffab1b0b051d2b56a90b8fb86d5721ed0b5.zip |
[RISCV] Enable emission of alias instructions by default
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.
llvm-svn: 320797
Diffstat (limited to 'llvm/test/MC/RISCV/rv32f-valid.s')
-rw-r--r-- | llvm/test/MC/RISCV/rv32f-valid.s | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/llvm/test/MC/RISCV/rv32f-valid.s b/llvm/test/MC/RISCV/rv32f-valid.s index 398173836c5..f5da84ac2bd 100644 --- a/llvm/test/MC/RISCV/rv32f-valid.s +++ b/llvm/test/MC/RISCV/rv32f-valid.s @@ -1,11 +1,13 @@ -# RUN: llvm-mc %s -triple=riscv32 -mattr=+f -show-encoding \ +# RUN: llvm-mc %s -triple=riscv32 -mattr=+f -riscv-no-aliases -show-encoding \ # RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s -# RUN: llvm-mc %s -triple=riscv64 -mattr=+f -show-encoding \ +# RUN: llvm-mc %s -triple=riscv64 -mattr=+f -riscv-no-aliases -show-encoding \ # RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s # RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+f < %s \ -# RUN: | llvm-objdump -mattr=+f -d - | FileCheck -check-prefix=CHECK-INST %s +# RUN: | llvm-objdump -mattr=+f -riscv-no-aliases -d - \ +# RUN: | FileCheck -check-prefix=CHECK-INST %s # RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+f < %s \ -# RUN: | llvm-objdump -mattr=+f -d - | FileCheck -check-prefix=CHECK-INST %s +# RUN: | llvm-objdump -mattr=+f -riscv-no-aliases -d - \ +# RUN: | FileCheck -check-prefix=CHECK-INST %s # CHECK-INST: flw ft0, 12(a0) # CHECK: encoding: [0x07,0x20,0xc5,0x00] @@ -39,34 +41,34 @@ fsw f8, %lo(2048)(s6) # CHECK: encoding: [0xa7,0xa3,0x9b,0x3e] fsw f9, 999(s7) -# CHECK-INST: fmadd.s fa0, fa1, fa2, fa3 +# CHECK-INST: fmadd.s fa0, fa1, fa2, fa3, dyn # CHECK: encoding: [0x43,0xf5,0xc5,0x68] -fmadd.s f10, f11, f12, f13 -# CHECK-INST: fmsub.s fa4, fa5, fa6, fa7 +fmadd.s f10, f11, f12, f13, dyn +# CHECK-INST: fmsub.s fa4, fa5, fa6, fa7, dyn # CHECK: encoding: [0x47,0xf7,0x07,0x89] -fmsub.s f14, f15, f16, f17 -# CHECK-INST: fnmsub.s fs2, fs3, fs4, fs5 +fmsub.s f14, f15, f16, f17, dyn +# CHECK-INST: fnmsub.s fs2, fs3, fs4, fs5, dyn # CHECK: encoding: [0x4b,0xf9,0x49,0xa9] -fnmsub.s f18, f19, f20, f21 -# CHECK-INST: fnmadd.s fs6, fs7, fs8, fs9 +fnmsub.s f18, f19, f20, f21, dyn +# CHECK-INST: fnmadd.s fs6, fs7, fs8, fs9, dyn # CHECK: encoding: [0x4f,0xfb,0x8b,0xc9] -fnmadd.s f22, f23, f24, f25 +fnmadd.s f22, f23, f24, f25, dyn -# CHECK-INST: fadd.s fs10, fs11, ft8 +# CHECK-INST: fadd.s fs10, fs11, ft8, dyn # CHECK: encoding: [0x53,0xfd,0xcd,0x01] -fadd.s f26, f27, f28 -# CHECK-INST: fsub.s ft9, ft10, ft11 +fadd.s f26, f27, f28, dyn +# CHECK-INST: fsub.s ft9, ft10, ft11, dyn # CHECK: encoding: [0xd3,0x7e,0xff,0x09] -fsub.s f29, f30, f31 -# CHECK-INST: fmul.s ft0, ft1, ft2 +fsub.s f29, f30, f31, dyn +# CHECK-INST: fmul.s ft0, ft1, ft2, dyn # CHECK: encoding: [0x53,0xf0,0x20,0x10] -fmul.s ft0, ft1, ft2 -# CHECK-INST: fdiv.s ft3, ft4, ft5 +fmul.s ft0, ft1, ft2, dyn +# CHECK-INST: fdiv.s ft3, ft4, ft5, dyn # CHECK: encoding: [0xd3,0x71,0x52,0x18] -fdiv.s ft3, ft4, ft5 -# CHECK-INST: fsqrt.s ft6, ft7 +fdiv.s ft3, ft4, ft5, dyn +# CHECK-INST: fsqrt.s ft6, ft7, dyn # CHECK: encoding: [0x53,0xf3,0x03,0x58] -fsqrt.s ft6, ft7 +fsqrt.s ft6, ft7, dyn # CHECK-INST: fsgnj.s fs1, fa0, fa1 # CHECK: encoding: [0xd3,0x04,0xb5,0x20] fsgnj.s fs1, fa0, fa1 @@ -82,12 +84,12 @@ fmin.s fa5, fa6, fa7 # CHECK-INST: fmax.s fs2, fs3, fs4 # CHECK: encoding: [0x53,0x99,0x49,0x29] fmax.s fs2, fs3, fs4 -# CHECK-INST: fcvt.w.s a0, fs5 +# CHECK-INST: fcvt.w.s a0, fs5, dyn # CHECK: encoding: [0x53,0xf5,0x0a,0xc0] -fcvt.w.s a0, fs5 -# CHECK-INST: fcvt.wu.s a1, fs6 +fcvt.w.s a0, fs5, dyn +# CHECK-INST: fcvt.wu.s a1, fs6, dyn # CHECK: encoding: [0xd3,0x75,0x1b,0xc0] -fcvt.wu.s a1, fs6 +fcvt.wu.s a1, fs6, dyn # CHECK-INST: fmv.x.w a2, fs7 # CHECK: encoding: [0x53,0x86,0x0b,0xe0] fmv.x.w a2, fs7 @@ -103,12 +105,12 @@ fle.s a3, ft8, ft9 # CHECK-INST: fclass.s a3, ft10 # CHECK: encoding: [0xd3,0x16,0x0f,0xe0] fclass.s a3, ft10 -# CHECK-INST: fcvt.s.w ft11, a4 +# CHECK-INST: fcvt.s.w ft11, a4, dyn # CHECK: encoding: [0xd3,0x7f,0x07,0xd0] -fcvt.s.w ft11, a4 -# CHECK-INST: fcvt.s.wu ft0, a5 +fcvt.s.w ft11, a4, dyn +# CHECK-INST: fcvt.s.wu ft0, a5, dyn # CHECK: encoding: [0x53,0xf0,0x17,0xd0] -fcvt.s.wu ft0, a5 +fcvt.s.wu ft0, a5, dyn # CHECK-INST: fmv.w.x ft1, a6 # CHECK: encoding: [0xd3,0x00,0x08,0xf0] fmv.w.x ft1, a6 |