1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa,+fp64 -filetype=obj -o - | \
# RUN: llvm-readobj -s -section-data | \
# RUN: FileCheck %s -check-prefix=ELF32
# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64r2 -mattr=+msa,+fp64 -target-abi n32 -filetype=obj -o - | \
# RUN: llvm-readobj -s -section-data | \
# RUN: FileCheck %s -check-prefix=ELF32
# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64r2 -mattr=+msa,+fp64 -target-abi n64 -filetype=obj -o - | \
# RUN: llvm-readobj -s -section-data | \
# RUN: FileCheck %s -check-prefix=ELF64
# ELF32: Section {
# ELF32: Name: .reginfo
# ELF32: Type: SHT_MIPS_REGINFO (0x70000006)
# ELF32: Flags [ (0x2)
# ELF32: SHF_ALLOC (0x2)
# ELF32: ]
# ELF32: Size: 24
# ELF32: SectionData (
# ELF32: 0000: 01010101 00000000 4C005515 00000000
# ELF32: 0010: 00000000 00000000
# ELF32: )
# ELF32: }
# ELF64: Section {
# ELF64: Name: .MIPS.options
# ELF64: Type: SHT_MIPS_OPTIONS (0x7000000D)
# ELF64: Flags [ (0x8000002)
# ELF64: SHF_ALLOC (0x2)
# ELF64: SHF_MIPS_NOSTRIP (0x8000000)
# ELF64: ]
# ELF64: Size: 40
# ELF64: SectionData (
# ELF64: 0000: 01280000 00000000 01010101 00000000
# ELF64: 0010: 00000000 4C005515 00000000 00000000
# ELF64: 0020: 00000000 00000000
# ELF64: )
# ELF64: }
.text
add $0,$0,$0
add $8,$0,$0
add $16,$0,$0
add $24,$0,$0
# abs.s - Reads and writes from/to $f0.
abs.s $f0,$f0
# round.w.d - Reads $f4 and writes to $f2.
round.w.d $f2,$f4
# ceil.w.s - Reads $f8 and writes to $f10.
ceil.w.s $f10, $f8
# cvt.s.d - Reads from $f12 and writes to $f14.
cvt.s.d $f14, $f12
# abs.d - Reads from $f30 and writes to $f30.
abs.d $f30,$f30
# Read and write from/to $f26 and $f27
add_a.b $w26,$w26,$w26
add_a.b $w27,$w27,$w27
|