summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/Mips/llvm-ir/abs.ll28
-rw-r--r--llvm/test/CodeGen/Mips/llvm-ir/sqrt.ll29
-rw-r--r--llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt4
-rw-r--r--llvm/test/MC/Disassembler/Mips/micromips32r3/valid-fp64-el.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/micromips32r3/valid-fp64.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt4
-rw-r--r--llvm/test/MC/Disassembler/Mips/mips32/valid-fp64-el.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/mips32/valid-fp64.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/mips32r2/valid-fp64-el.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/mips32r2/valid-fp64.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/mips32r3/valid-fp64-el.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/mips32r3/valid-fp64.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/mips32r5/valid-fp64-el.txt7
-rw-r--r--llvm/test/MC/Disassembler/Mips/mips32r5/valid-fp64.txt7
-rw-r--r--llvm/test/MC/Mips/micromips/valid-fp64.s11
-rw-r--r--llvm/test/MC/Mips/micromips/valid.s6
-rw-r--r--llvm/test/MC/Mips/micromips32r6/valid.s12
-rw-r--r--llvm/test/MC/Mips/mips1/valid.s8
-rw-r--r--llvm/test/MC/Mips/mips2/valid.s14
-rw-r--r--llvm/test/MC/Mips/mips32/valid.s14
-rw-r--r--llvm/test/MC/Mips/mips32r2/valid-fp64.s11
-rw-r--r--llvm/test/MC/Mips/mips32r2/valid.s14
-rw-r--r--llvm/test/MC/Mips/mips32r3/valid-fp64.s11
-rw-r--r--llvm/test/MC/Mips/mips32r3/valid.s14
-rw-r--r--llvm/test/MC/Mips/mips32r5/valid-fp64.s11
-rw-r--r--llvm/test/MC/Mips/mips32r5/valid.s14
26 files changed, 242 insertions, 33 deletions
diff --git a/llvm/test/CodeGen/Mips/llvm-ir/abs.ll b/llvm/test/CodeGen/Mips/llvm-ir/abs.ll
new file mode 100644
index 00000000000..3ae8525ec18
--- /dev/null
+++ b/llvm/test/CodeGen/Mips/llvm-ir/abs.ll
@@ -0,0 +1,28 @@
+; RUN: llc -march=mips -mcpu=mips32 -asm-show-inst < %s | FileCheck %s --check-prefix=MIPS32
+; RUN: llc -march=mips -mcpu=mips32r2 -mattr=+fp64 -asm-show-inst < %s | FileCheck %s --check-prefix=MIPS32FP64
+; RUN: llc -march=mips -mcpu=mips32r3 -mattr=+micromips -asm-show-inst < %s | FileCheck %s --check-prefix=MM
+; RUN: llc -march=mips -mcpu=mips32r3 -mattr=+micromips,+fp64 -asm-show-inst < %s | FileCheck %s --check-prefix=MMFP64
+; RUN: llc -march=mips -mcpu=mips32r6 -mattr=+micromips -asm-show-inst < %s | FileCheck %s --check-prefix=MMR6
+
+define float @abs_s(float %a) {
+; MIPS32: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S
+; MIPS32FP64: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S
+; MM: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S_MM
+; MMFP64: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S_MM
+; MMR6: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S_MM
+ %ret = call float @llvm.fabs.f32(float %a)
+ ret float %ret
+}
+
+define double @abs_d(double %a) {
+; MIPS32: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D32
+; MIPS32FP64: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D64
+; MM: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D32_MM
+; MMFP64: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D64_MM
+; MMR6: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D64_MM
+ %ret = call double @llvm.fabs.f64(double %a)
+ ret double %ret
+}
+
+declare float @llvm.fabs.f32(float %a)
+declare double @llvm.fabs.f64(double %a)
diff --git a/llvm/test/CodeGen/Mips/llvm-ir/sqrt.ll b/llvm/test/CodeGen/Mips/llvm-ir/sqrt.ll
index 1a8892de0ee..05776886dd9 100644
--- a/llvm/test/CodeGen/Mips/llvm-ir/sqrt.ll
+++ b/llvm/test/CodeGen/Mips/llvm-ir/sqrt.ll
@@ -1,6 +1,11 @@
; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -mattr=+micromips | FileCheck %s
; RUN: llc < %s -march=mips -mcpu=mips32r2 -mattr=+micromips | FileCheck %s
; RUN: llc < %s -march=mips -mcpu=mips32r6 -mattr=+micromips | FileCheck %s
+; RUN: llc -march=mips -mcpu=mips32 -asm-show-inst < %s | FileCheck %s --check-prefix=MIPS32
+; RUN: llc -march=mips -mcpu=mips32r2 -mattr=+fp64 -asm-show-inst < %s | FileCheck %s --check-prefix=MIPS32FP64
+; RUN: llc -march=mips -mcpu=mips32r3 -mattr=+micromips -asm-show-inst < %s | FileCheck %s --check-prefix=MM
+; RUN: llc -march=mips -mcpu=mips32r3 -mattr=+micromips,+fp64 -asm-show-inst < %s | FileCheck %s --check-prefix=MMFP64
+; RUN: llc -march=mips -mcpu=mips32r6 -mattr=+micromips -asm-show-inst < %s | FileCheck %s --check-prefix=MMR6
define float @sqrt_fn(float %value) #0 {
entry:
@@ -11,3 +16,27 @@ entry:
declare float @sqrtf(float)
; CHECK: sqrt.s $f0, $f12
+
+
+define float @sqrt_s(float %a) {
+; MIPS32: sqrt.s {{.*}} # <MCInst #{{[0-9]+}} FSQRT_S
+; MIPS32FP64: sqrt.s {{.*}} # <MCInst #{{[0-9]+}} FSQRT_S
+; MM: sqrt.s {{.*}} # <MCInst #{{[0-9]+}} FSQRT_S_MM
+; MMFP64: sqrt.s {{.*}} # <MCInst #{{[0-9]+}} FSQRT_S_MM
+; MMR6: sqrt.s {{.*}} # <MCInst #{{[0-9]+}} FSQRT_S_MM
+ %ret = call float @llvm.sqrt.f32(float %a)
+ ret float %ret
+}
+
+define double @sqrt_d(double %a) {
+; MIPS32: sqrt.d {{.*}} # <MCInst #{{[0-9]+}} FSQRT_D32
+; MIPS32FP64: sqrt.d {{.*}} # <MCInst #{{[0-9]+}} FSQRT_D64
+; MM: sqrt.d {{.*}} # <MCInst #{{[0-9]+}} FSQRT_D32_MM
+; MMFP64: sqrt.d {{.*}} # <MCInst #{{[0-9]+}} FSQRT_D64_MM
+; MMR6: sqrt.d {{.*}} # <MCInst #{{[0-9]+}} FSQRT_D64_MM
+ %ret = call double @llvm.sqrt.f64(double %a)
+ ret double %ret
+}
+
+declare float @llvm.sqrt.f32(float %a)
+declare double @llvm.sqrt.f64(double %a)
diff --git a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt
index 0cd74f5ba71..c9e8179f642 100644
--- a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt
+++ b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt
@@ -204,3 +204,7 @@
0x7e,0x54,0x3b,0x12 # CHECK: recip.s $f3, $f30
0x5c,0x54,0x3b,0x42 # CHECK: rsqrt.d $f2, $f28
0x88,0x54,0x3b,0x02 # CHECK: rsqrt.s $f4, $f8
+0x0c 0x54 0x3b 0x0a # CHECK: sqrt.s $f0, $f12
+0x0c 0x54 0x7b 0x03 # CHECK: abs.s $f0, $f12
+0x0c 0x54 0x3b 0x4a # CHECK: sqrt.d $f0, $f12
+0x0c 0x54 0x7b 0x23 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-fp64-el.txt b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-fp64-el.txt
new file mode 100644
index 00000000000..65525acee13
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-fp64-el.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mipsel -mcpu=mips32r3 -mattr=+micromips,+fp64 %s \
+# RUN: | FileCheck %s
+
+0x0c 0x54 0x3b 0x0a # CHECK: sqrt.s $f0, $f12
+0x0c 0x54 0x7b 0x03 # CHECK: abs.s $f0, $f12
+0x0c 0x54 0x3b 0x4a # CHECK: sqrt.d $f0, $f12
+0x0c 0x54 0x7b 0x23 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-fp64.txt b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-fp64.txt
new file mode 100644
index 00000000000..cd2265838c8
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-fp64.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mips -mcpu=mips32r3 -mattr=+micromips,+fp64 %s \
+# RUN: | FileCheck %s
+
+0x54 0x0c 0x0a 0x3b # CHECK: sqrt.s $f0, $f12
+0x54 0x0c 0x03 0x7b # CHECK: abs.s $f0, $f12
+0x54 0x0c 0x4a 0x3b # CHECK: sqrt.d $f0, $f12
+0x54 0x0c 0x23 0x7b # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt
index dbab070b874..560647bf2bf 100644
--- a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt
+++ b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt
@@ -208,3 +208,7 @@
0x54 0x7e 0x12 0x3b # CHECK: recip.s $f3, $f30
0x54 0x5c 0x42 0x3b # CHECK: rsqrt.d $f2, $f28
0x54 0x88 0x02 0x3b # CHECK: rsqrt.s $f4, $f8
+0x54 0x0c 0x0a 0x3b # CHECK: sqrt.s $f0, $f12
+0x54 0x0c 0x03 0x7b # CHECK: abs.s $f0, $f12
+0x54 0x0c 0x4a 0x3b # CHECK: sqrt.d $f0, $f12
+0x54 0x0c 0x23 0x7b # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/mips32/valid-fp64-el.txt b/llvm/test/MC/Disassembler/Mips/mips32/valid-fp64-el.txt
new file mode 100644
index 00000000000..0e46c7245aa
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/mips32/valid-fp64-el.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mipsel -mcpu=mips32 -mattr=+fp64 %s | \
+# RUN: FileCheck %s
+
+0x04 0x60 0x00 0x46 # CHECK: sqrt.s $f0, $f12
+0x05 0x60 0x00 0x46 # CHECK: abs.s $f0, $f12
+0x04 0x60 0x20 0x46 # CHECK: sqrt.d $f0, $f12
+0x05 0x60 0x20 0x46 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/mips32/valid-fp64.txt b/llvm/test/MC/Disassembler/Mips/mips32/valid-fp64.txt
new file mode 100644
index 00000000000..1c72fcabb09
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/mips32/valid-fp64.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mips -mcpu=mips32 -mattr=+fp64 %s | \
+# RUN: FileCheck %s
+
+0x46 0x00 0x60 0x04 # CHECK: sqrt.s $f0, $f12
+0x46 0x00 0x60 0x05 # CHECK: abs.s $f0, $f12
+0x46 0x20 0x60 0x04 # CHECK: sqrt.d $f0, $f12
+0x46 0x20 0x60 0x05 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/mips32r2/valid-fp64-el.txt b/llvm/test/MC/Disassembler/Mips/mips32r2/valid-fp64-el.txt
new file mode 100644
index 00000000000..80eaa5b11f9
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/mips32r2/valid-fp64-el.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mipsel -mcpu=mips32r2 -mattr=+fp64 %s | \
+# RUN: FileCheck %s
+
+0x04 0x60 0x00 0x46 # CHECK: sqrt.s $f0, $f12
+0x05 0x60 0x00 0x46 # CHECK: abs.s $f0, $f12
+0x04 0x60 0x20 0x46 # CHECK: sqrt.d $f0, $f12
+0x05 0x60 0x20 0x46 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/mips32r2/valid-fp64.txt b/llvm/test/MC/Disassembler/Mips/mips32r2/valid-fp64.txt
new file mode 100644
index 00000000000..56de5c78b36
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/mips32r2/valid-fp64.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mips -mcpu=mips32r2 -mattr=+fp64 %s | \
+# RUN: FileCheck %s
+
+0x46 0x00 0x60 0x04 # CHECK: sqrt.s $f0, $f12
+0x46 0x00 0x60 0x05 # CHECK: abs.s $f0, $f12
+0x46 0x20 0x60 0x04 # CHECK: sqrt.d $f0, $f12
+0x46 0x20 0x60 0x05 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/mips32r3/valid-fp64-el.txt b/llvm/test/MC/Disassembler/Mips/mips32r3/valid-fp64-el.txt
new file mode 100644
index 00000000000..15282ab50e0
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/mips32r3/valid-fp64-el.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mipsel -mcpu=mips32r3 -mattr=+fp64 %s | \
+# RUN: FileCheck %s
+
+0x04 0x60 0x00 0x46 # CHECK: sqrt.s $f0, $f12
+0x05 0x60 0x00 0x46 # CHECK: abs.s $f0, $f12
+0x04 0x60 0x20 0x46 # CHECK: sqrt.d $f0, $f12
+0x05 0x60 0x20 0x46 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/mips32r3/valid-fp64.txt b/llvm/test/MC/Disassembler/Mips/mips32r3/valid-fp64.txt
new file mode 100644
index 00000000000..5b9519ec23c
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/mips32r3/valid-fp64.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mips -mcpu=mips32r3 -mattr=+fp64 %s | \
+# RUN: FileCheck %s
+
+0x46 0x00 0x60 0x04 # CHECK: sqrt.s $f0, $f12
+0x46 0x00 0x60 0x05 # CHECK: abs.s $f0, $f12
+0x46 0x20 0x60 0x04 # CHECK: sqrt.d $f0, $f12
+0x46 0x20 0x60 0x05 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/mips32r5/valid-fp64-el.txt b/llvm/test/MC/Disassembler/Mips/mips32r5/valid-fp64-el.txt
new file mode 100644
index 00000000000..478a7f2c4cc
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/mips32r5/valid-fp64-el.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mipsel -mcpu=mips32r5 -mattr=+fp64 %s | \
+# RUN: FileCheck %s
+
+0x04 0x60 0x00 0x46 # CHECK: sqrt.s $f0, $f12
+0x05 0x60 0x00 0x46 # CHECK: abs.s $f0, $f12
+0x04 0x60 0x20 0x46 # CHECK: sqrt.d $f0, $f12
+0x05 0x60 0x20 0x46 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Disassembler/Mips/mips32r5/valid-fp64.txt b/llvm/test/MC/Disassembler/Mips/mips32r5/valid-fp64.txt
new file mode 100644
index 00000000000..239dd4be7aa
--- /dev/null
+++ b/llvm/test/MC/Disassembler/Mips/mips32r5/valid-fp64.txt
@@ -0,0 +1,7 @@
+# RUN: llvm-mc --disassemble -arch=mips -mcpu=mips32r5 -mattr=+fp64 %s | \
+# RUN: FileCheck %s
+
+0x46 0x00 0x60 0x04 # CHECK: sqrt.s $f0, $f12
+0x46 0x00 0x60 0x05 # CHECK: abs.s $f0, $f12
+0x46 0x20 0x60 0x04 # CHECK: sqrt.d $f0, $f12
+0x46 0x20 0x60 0x05 # CHECK: abs.d $f0, $f12
diff --git a/llvm/test/MC/Mips/micromips/valid-fp64.s b/llvm/test/MC/Mips/micromips/valid-fp64.s
new file mode 100644
index 00000000000..dbf758cfb4d
--- /dev/null
+++ b/llvm/test/MC/Mips/micromips/valid-fp64.s
@@ -0,0 +1,11 @@
+# RUN: llvm-mc -arch=mips -mcpu=mips32r3 -mattr=+micromips,+fp64 -show-encoding -show-inst %s \
+# RUN: | FileCheck %s
+
+abs.s $f0, $f12 # CHECK: abs.s $f0, $f12 # encoding: [0x54,0x0c,0x03,0x7b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S_MM
+abs.d $f0, $f12 # CHECK: abs.d $f0, $f12 # encoding: [0x54,0x0c,0x23,0x7b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D64_MM
+sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x54,0x0c,0x0a,0x3b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S_MM
+sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x54,0x0c,0x4a,0x3b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D64_MM
diff --git a/llvm/test/MC/Mips/micromips/valid.s b/llvm/test/MC/Mips/micromips/valid.s
index 47266c9da10..b30023f1660 100644
--- a/llvm/test/MC/Mips/micromips/valid.s
+++ b/llvm/test/MC/Mips/micromips/valid.s
@@ -52,7 +52,11 @@ lw $3, 32($gp) # CHECK: lw $3, 32($gp) # encoding: [0x65,0x88]
abs.s $f0, $f2 # CHECK: abs.s $f0, $f2 # encoding: [0x54,0x02,0x03,0x7b]
# CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S_MM
abs.d $f4, $f6 # CHECK: abs.d $f4, $f6 # encoding: [0x54,0x86,0x23,0x7b]
- # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_MM
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D32_MM
+sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x54,0x0c,0x0a,0x3b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S_MM
+sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x54,0x0c,0x4a,0x3b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D32_MM
add $9, $6, $7 # CHECK: add $9, $6, $7 # encoding: [0x00,0xe6,0x49,0x10]
addi $9, $6, 17767 # CHECK: addi $9, $6, 17767 # encoding: [0x11,0x26,0x45,0x67]
addiu $9, $6, -15001 # CHECK: addiu $9, $6, -15001 # encoding: [0x31,0x26,0xc5,0x67]
diff --git a/llvm/test/MC/Mips/micromips32r6/valid.s b/llvm/test/MC/Mips/micromips32r6/valid.s
index 28265f960fa..1a402983838 100644
--- a/llvm/test/MC/Mips/micromips32r6/valid.s
+++ b/llvm/test/MC/Mips/micromips32r6/valid.s
@@ -215,8 +215,10 @@
cvt.s.d $f2, $f4 # CHECK: cvt.s.d $f2, $f4 # encoding: [0x54,0x44,0x1b,0x7b]
cvt.s.w $f3, $f4 # CHECK: cvt.s.w $f3, $f4 # encoding: [0x54,0x64,0x3b,0x7b]
cvt.s.l $f3, $f4 # CHECK: cvt.s.l $f3, $f4 # encoding: [0x54,0x64,0x5b,0x7b]
- abs.s $f3, $f5 # CHECK: abs.s $f3, $f5 # encoding: [0x54,0x65,0x03,0x7b]
- abs.d $f2, $f4 # CHECK: abs.d $f2, $f4 # encoding: [0x54,0x44,0x23,0x7b]
+ abs.s $f0, $f12 # CHECK: abs.s $f0, $f12 # encoding: [0x54,0x0c,0x03,0x7b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S_MM
+ abs.d $f0, $f12 # CHECK: abs.d $f0, $f12 # encoding: [0x54,0x0c,0x23,0x7b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D64_MM
floor.l.s $f3, $f5 # CHECK: floor.l.s $f3, $f5 # encoding: [0x54,0x65,0x03,0x3b]
floor.l.d $f2, $f4 # CHECK: floor.l.d $f2, $f4 # encoding: [0x54,0x44,0x43,0x3b]
floor.w.s $f3, $f5 # CHECK: floor.w.s $f3, $f5 # encoding: [0x54,0x65,0x0b,0x3b]
@@ -229,8 +231,10 @@
trunc.l.d $f2, $f4 # CHECK: trunc.l.d $f2, $f4 # encoding: [0x54,0x44,0x63,0x3b]
trunc.w.s $f3, $f5 # CHECK: trunc.w.s $f3, $f5 # encoding: [0x54,0x65,0x2b,0x3b]
trunc.w.d $f2, $f4 # CHECK: trunc.w.d $f2, $f4 # encoding: [0x54,0x44,0x6b,0x3b]
- sqrt.s $f3, $f5 # CHECK: sqrt.s $f3, $f5 # encoding: [0x54,0x65,0x0a,0x3b]
- sqrt.d $f2, $f4 # CHECK: sqrt.d $f2, $f4 # encoding: [0x54,0x44,0x4a,0x3b]
+ sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x54,0x0c,0x0a,0x3b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S_MM
+ sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x54,0x0c,0x4a,0x3b]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D64_MM
rsqrt.s $f3, $f5 # CHECK: rsqrt.s $f3, $f5 # encoding: [0x54,0x65,0x02,0x3b]
rsqrt.d $f2, $f4 # CHECK: rsqrt.d $f2, $f4 # encoding: [0x54,0x44,0x42,0x3b]
lw $3, -260($gp) # CHECK: lw $3, -260($gp) # encoding: [0xfc,0x7c,0xfe,0xfc]
diff --git a/llvm/test/MC/Mips/mips1/valid.s b/llvm/test/MC/Mips/mips1/valid.s
index 77c5c1f08ff..bbd42e5ff2a 100644
--- a/llvm/test/MC/Mips/mips1/valid.s
+++ b/llvm/test/MC/Mips/mips1/valid.s
@@ -1,10 +1,12 @@
# Instructions that are valid
#
-# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips1 | FileCheck %s
+# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -show-inst -mcpu=mips1 | FileCheck %s
a:
.set noat
- abs.d $f7,$f25 # CHECK: encoding:
- abs.s $f9,$f16
+ abs.d $f0,$f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D32
+ abs.s $f0,$f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
add $s7,$s2,$a1
add.d $f1,$f7,$f29
add.s $f8,$f21,$f24
diff --git a/llvm/test/MC/Mips/mips2/valid.s b/llvm/test/MC/Mips/mips2/valid.s
index c6d4205a859..97143f97396 100644
--- a/llvm/test/MC/Mips/mips2/valid.s
+++ b/llvm/test/MC/Mips/mips2/valid.s
@@ -1,10 +1,12 @@
# Instructions that are valid
#
-# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips2 | FileCheck %s
+# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -show-inst -mcpu=mips2 | FileCheck %s
a:
.set noat
- abs.d $f7,$f25 # CHECK: encoding:
- abs.s $f9,$f16
+ abs.d $f0,$f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D32
+ abs.s $f0,$f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
add $s7,$s2,$a1
add $9,$14,15176 # CHECK: addi $9, $14, 15176 # encoding: [0x21,0xc9,0x3b,0x48]
add $24,-7193 # CHECK: addi $24, $24, -7193 # encoding: [0x23,0x18,0xe3,0xe7]
@@ -135,8 +137,10 @@ a:
sltiu $25,$25,-15531 # CHECK: sltiu $25, $25, -15531 # encoding: [0x2f,0x39,0xc3,0x55]
sltu $s4,$s5,$11 # CHECK: sltu $20, $21, $11 # encoding: [0x02,0xab,0xa0,0x2b]
sltu $24,$25,-15531 # CHECK: sltiu $24, $25, -15531 # encoding: [0x2f,0x38,0xc3,0x55]
- sqrt.d $f17,$f22
- sqrt.s $f0,$f1
+ sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D32
+ sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S
sra $4, $5 # CHECK: srav $4, $4, $5 # encoding: [0x00,0xa4,0x20,0x07]
sra $s1,15 # CHECK: sra $17, $17, 15 # encoding: [0x00,0x11,0x8b,0xc3]
sra $s1,$s7,15 # CHECK: sra $17, $23, 15 # encoding: [0x00,0x17,0x8b,0xc3]
diff --git a/llvm/test/MC/Mips/mips32/valid.s b/llvm/test/MC/Mips/mips32/valid.s
index 4685a1f3696..2582ba751ce 100644
--- a/llvm/test/MC/Mips/mips32/valid.s
+++ b/llvm/test/MC/Mips/mips32/valid.s
@@ -1,10 +1,12 @@
# Instructions that are valid
#
-# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32 | FileCheck %s
+# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -show-inst -mcpu=mips32 | FileCheck %s
a:
.set noat
- abs.d $f7,$f25 # CHECK: encoding:
- abs.s $f9,$f16
+ abs.d $f0,$f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D32
+ abs.s $f0,$f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
add $s7,$s2,$a1
add $9,$14,15176 # CHECK: addi $9, $14, 15176 # encoding: [0x21,0xc9,0x3b,0x48]
add $24,-7193 # CHECK: addi $24, $24, -7193 # encoding: [0x23,0x18,0xe3,0xe7]
@@ -193,8 +195,10 @@ a:
sltiu $25,$25,-15531 # CHECK: sltiu $25, $25, -15531 # encoding: [0x2f,0x39,0xc3,0x55]
sltu $s4,$s5,$11 # CHECK: sltu $20, $21, $11 # encoding: [0x02,0xab,0xa0,0x2b]
sltu $24,$25,-15531 # CHECK: sltiu $24, $25, -15531 # encoding: [0x2f,0x38,0xc3,0x55]
- sqrt.d $f17,$f22
- sqrt.s $f0,$f1
+ sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D32
+ sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S
sra $4, $5 # CHECK: srav $4, $4, $5 # encoding: [0x00,0xa4,0x20,0x07]
sra $s1,15 # CHECK: sra $17, $17, 15 # encoding: [0x00,0x11,0x8b,0xc3]
sra $s1,$s7,15 # CHECK: sra $17, $23, 15 # encoding: [0x00,0x17,0x8b,0xc3]
diff --git a/llvm/test/MC/Mips/mips32r2/valid-fp64.s b/llvm/test/MC/Mips/mips32r2/valid-fp64.s
new file mode 100644
index 00000000000..bc06e418780
--- /dev/null
+++ b/llvm/test/MC/Mips/mips32r2/valid-fp64.s
@@ -0,0 +1,11 @@
+# RUN: llvm-mc -arch=mips -mcpu=mips32r2 -mattr=+fp64 -show-encoding -show-inst %s | \
+# RUN: FileCheck %s
+
+abs.s $f0, $f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
+abs.d $f0, $f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D64
+sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S
+sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D64
diff --git a/llvm/test/MC/Mips/mips32r2/valid.s b/llvm/test/MC/Mips/mips32r2/valid.s
index badac0ac7e2..2728897107a 100644
--- a/llvm/test/MC/Mips/mips32r2/valid.s
+++ b/llvm/test/MC/Mips/mips32r2/valid.s
@@ -1,10 +1,12 @@
# Instructions that are valid
#
-# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r2 | FileCheck %s
+# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -show-inst -mcpu=mips32r2 | FileCheck %s
a:
.set noat
- abs.d $f7,$f25 # CHECK: encoding:
- abs.s $f9,$f16
+ abs.d $f0,$f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D32
+ abs.s $f0,$f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
add $s7,$s2,$a1
add $9,$14,15176 # CHECK: addi $9, $14, 15176 # encoding: [0x21,0xc9,0x3b,0x48]
add $24,-7193 # CHECK: addi $24, $24, -7193 # encoding: [0x23,0x18,0xe3,0xe7]
@@ -234,8 +236,10 @@ a:
sltiu $25,$25,-15531 # CHECK: sltiu $25, $25, -15531 # encoding: [0x2f,0x39,0xc3,0x55]
sltu $s4,$s5,$11 # CHECK: sltu $20, $21, $11 # encoding: [0x02,0xab,0xa0,0x2b]
sltu $24,$25,-15531 # CHECK: sltiu $24, $25, -15531 # encoding: [0x2f,0x38,0xc3,0x55]
- sqrt.d $f17,$f22
- sqrt.s $f0,$f1
+ sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D32
+ sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S
sra $4, $5 # CHECK: srav $4, $4, $5 # encoding: [0x00,0xa4,0x20,0x07]
sra $s1,15 # CHECK: sra $17, $17, 15 # encoding: [0x00,0x11,0x8b,0xc3]
sra $s1,$s7,15 # CHECK: sra $17, $23, 15 # encoding: [0x00,0x17,0x8b,0xc3]
diff --git a/llvm/test/MC/Mips/mips32r3/valid-fp64.s b/llvm/test/MC/Mips/mips32r3/valid-fp64.s
new file mode 100644
index 00000000000..dc285f0ba0e
--- /dev/null
+++ b/llvm/test/MC/Mips/mips32r3/valid-fp64.s
@@ -0,0 +1,11 @@
+# RUN: llvm-mc -arch=mips -mcpu=mips32r3 -mattr=+fp64 -show-encoding -show-inst %s | \
+# RUN: FileCheck %s
+
+abs.s $f0, $f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
+abs.d $f0, $f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D64
+sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S
+sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D64
diff --git a/llvm/test/MC/Mips/mips32r3/valid.s b/llvm/test/MC/Mips/mips32r3/valid.s
index c8009351e47..ed9b3ee0527 100644
--- a/llvm/test/MC/Mips/mips32r3/valid.s
+++ b/llvm/test/MC/Mips/mips32r3/valid.s
@@ -1,10 +1,12 @@
# Instructions that are valid
#
-# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r3 | FileCheck %s
+# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -show-inst -mcpu=mips32r3 | FileCheck %s
a:
.set noat
- abs.d $f7,$f25 # CHECK: encoding:
- abs.s $f9,$f16
+ abs.d $f0,$f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D32
+ abs.s $f0,$f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
add $s7,$s2,$a1
add $9,$14,15176 # CHECK: addi $9, $14, 15176 # encoding: [0x21,0xc9,0x3b,0x48]
add $24,-7193 # CHECK: addi $24, $24, -7193 # encoding: [0x23,0x18,0xe3,0xe7]
@@ -234,8 +236,10 @@ a:
sltiu $25,$25,-15531 # CHECK: sltiu $25, $25, -15531 # encoding: [0x2f,0x39,0xc3,0x55]
sltu $s4,$s5,$11 # CHECK: sltu $20, $21, $11 # encoding: [0x02,0xab,0xa0,0x2b]
sltu $24,$25,-15531 # CHECK: sltiu $24, $25, -15531 # encoding: [0x2f,0x38,0xc3,0x55]
- sqrt.d $f17,$f22
- sqrt.s $f0,$f1
+ sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D32
+ sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S
sra $4, $5 # CHECK: srav $4, $4, $5 # encoding: [0x00,0xa4,0x20,0x07]
sra $s1,15 # CHECK: sra $17, $17, 15 # encoding: [0x00,0x11,0x8b,0xc3]
sra $s1,$s7,15 # CHECK: sra $17, $23, 15 # encoding: [0x00,0x17,0x8b,0xc3]
diff --git a/llvm/test/MC/Mips/mips32r5/valid-fp64.s b/llvm/test/MC/Mips/mips32r5/valid-fp64.s
new file mode 100644
index 00000000000..f79a619ef78
--- /dev/null
+++ b/llvm/test/MC/Mips/mips32r5/valid-fp64.s
@@ -0,0 +1,11 @@
+# RUN: llvm-mc -arch=mips -mcpu=mips32r5 -mattr=+fp64 -show-encoding -show-inst %s | \
+# RUN: FileCheck %s
+
+abs.s $f0, $f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
+abs.d $f0, $f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D64
+sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S
+sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D64
diff --git a/llvm/test/MC/Mips/mips32r5/valid.s b/llvm/test/MC/Mips/mips32r5/valid.s
index de56e3e37b2..ceb8c75e64d 100644
--- a/llvm/test/MC/Mips/mips32r5/valid.s
+++ b/llvm/test/MC/Mips/mips32r5/valid.s
@@ -1,10 +1,12 @@
# Instructions that are valid
#
-# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r5 | FileCheck %s
+# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -show-inst -mcpu=mips32r5 | FileCheck %s
a:
.set noat
- abs.d $f7,$f25 # CHECK: encoding:
- abs.s $f9,$f16
+ abs.d $f0,$f12 # CHECK: abs.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D32
+ abs.s $f0,$f12 # CHECK: abs.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x05]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S
add $s7,$s2,$a1
add $9,$14,15176 # CHECK: addi $9, $14, 15176 # encoding: [0x21,0xc9,0x3b,0x48]
add $24,-7193 # CHECK: addi $24, $24, -7193 # encoding: [0x23,0x18,0xe3,0xe7]
@@ -235,8 +237,10 @@ a:
sltiu $25,$25,-15531 # CHECK: sltiu $25, $25, -15531 # encoding: [0x2f,0x39,0xc3,0x55]
sltu $s4,$s5,$11 # CHECK: sltu $20, $21, $11 # encoding: [0x02,0xab,0xa0,0x2b]
sltu $24,$25,-15531 # CHECK: sltiu $24, $25, -15531 # encoding: [0x2f,0x38,0xc3,0x55]
- sqrt.d $f17,$f22
- sqrt.s $f0,$f1
+ sqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x46,0x20,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D32
+ sqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x46,0x00,0x60,0x04]
+ # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S
sra $4, $5 # CHECK: srav $4, $4, $5 # encoding: [0x00,0xa4,0x20,0x07]
sra $s1,15 # CHECK: sra $17, $17, 15 # encoding: [0x00,0x11,0x8b,0xc3]
sra $s1,$s7,15 # CHECK: sra $17, $23, 15 # encoding: [0x00,0x17,0x8b,0xc3]
OpenPOWER on IntegriCloud