mirror of
https://github.com/RPCS3/llvm.git
synced 2025-05-17 19:06:09 +00:00

Instructions affected: mthc1, mfhc1, add.d, sub.d, mul.d, div.d, mov.d, neg.d, cvt.w.d, cvt.d.s, cvt.d.w, cvt.s.d These instructions are now defined for microMIPS32r3 + microMIPS32r6 in MicroMipsInstrFPU.td since they shared their encoding with those already defined in microMIPS32r6InstrInfo.td and have been therefore removed from the latter file. Some instructions present in MicroMipsInstrFPU.td which did not have both AFGR64 and FGR64 variants defined have been altered to do so. Differential revision: https://reviews.llvm.org/D42738 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@324584 91177308-0d34-0410-b5e6-96231b3b80d8
31 lines
1.6 KiB
LLVM
31 lines
1.6 KiB
LLVM
; RUN: llc -march=mips -mcpu=mips32r2 -asm-show-inst \
|
|
; RUN: -mno-ldc1-sdc1 < %s | FileCheck %s --check-prefix=MIPS32R2
|
|
; RUN: llc -march=mips -mcpu=mips32r2 -mattr=+fp64 -asm-show-inst \
|
|
; RUN: -mno-ldc1-sdc1 < %s | FileCheck %s --check-prefix=MIPS32FP64
|
|
; RUN: llc -march=mips -mcpu=mips32r3 -mattr=+micromips -asm-show-inst \
|
|
; RUN: -mno-ldc1-sdc1 < %s | FileCheck %s --check-prefix=MM
|
|
; RUN: llc -march=mips -mcpu=mips32r3 -mattr=+micromips,+fp64 -asm-show-inst \
|
|
; RUN: -mno-ldc1-sdc1 < %s | FileCheck %s --check-prefix=MMFP64
|
|
; RUN: llc -march=mips -mcpu=mips32r6 -mattr=+micromips -asm-show-inst \
|
|
; RUN: -mno-ldc1-sdc1 < %s | FileCheck %s --check-prefix=MMR6
|
|
|
|
define double @mthc1(i64 %a) {
|
|
; MIPS32R2: mthc1 {{.*}} # <MCInst #{{[0-9]+}} MTHC1_D32
|
|
; MIPS32FP64: mthc1 {{.*}} # <MCInst #{{[0-9]+}} MTHC1_D64
|
|
; MM: mthc1 {{.*}} # <MCInst #{{[0-9]+}} MTHC1_D32_MM
|
|
; MMFP64: mthc1 {{.*}} # <MCInst #{{[0-9]+}} MTHC1_D64_MM
|
|
; MMR6: mthc1 {{.*}} # <MCInst #{{[0-9]+}} MTHC1_D64_MM
|
|
%1 = bitcast i64 %a to double
|
|
ret double %1
|
|
}
|
|
|
|
define i64 @mfhc1(double %a) {
|
|
; MIPS32R2: mfhc1 {{.*}} # <MCInst #{{[0-9]+}} MFHC1_D32
|
|
; MIPS32FP64: mfhc1 {{.*}} # <MCInst #{{[0-9]+}} MFHC1_D64
|
|
; MM: mfhc1 {{.*}} # <MCInst #{{[0-9]+}} MFHC1_D32_MM
|
|
; MMFP64: mfhc1 {{.*}} # <MCInst #{{[0-9]+}} MFHC1_D64_MM
|
|
; MMR6: mfhc1 {{.*}} # <MCInst #{{[0-9]+}} MFHC1_D64_MM
|
|
%1 = bitcast double %a to i64
|
|
ret i64 %1
|
|
}
|