File: misc.s

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (56 lines) | stat: -rw-r--r-- 1,817 bytes parent folder | download | duplicates (15)
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
## Test valid misc instructions.

# RUN: llvm-mc %s --triple=loongarch32 --show-encoding \
# RUN:     | FileCheck --check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s
# RUN: llvm-mc %s --triple=loongarch64 --show-encoding --defsym=LA64=1 \
# RUN:     | FileCheck --check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ,CHECK64-ASM,CHECK64-ASM-AND-OBJ %s
# RUN: llvm-mc %s --triple=loongarch32 --filetype=obj | llvm-objdump -d - \
# RUN:     | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s
# RUN: llvm-mc %s --triple=loongarch64 --filetype=obj --defsym=LA64=1 | llvm-objdump -d - \
# RUN:     | FileCheck --check-prefixes=CHECK-ASM-AND-OBJ,CHECK64-ASM-AND-OBJ %s

#############################################################
## Instructions for both loongarch32 and loongarch64
#############################################################

# CHECK-ASM-AND-OBJ: syscall 100
# CHECK-ASM: encoding: [0x64,0x00,0x2b,0x00]
syscall 100

# CHECK-ASM-AND-OBJ: break 199
# CHECK-ASM: encoding: [0xc7,0x00,0x2a,0x00]
break 199

# CHECK-ASM-AND-OBJ: rdtimel.w $s1, $a0
# CHECK-ASM: encoding: [0x98,0x60,0x00,0x00]
rdtimel.w $s1, $a0

# CHECK-ASM-AND-OBJ: rdtimeh.w $a7, $a1
# CHECK-ASM: encoding: [0xab,0x64,0x00,0x00]
rdtimeh.w $a7, $a1

# CHECK-ASM-AND-OBJ: cpucfg $sp, $a4
# CHECK-ASM: encoding: [0x03,0x6d,0x00,0x00]
cpucfg $sp, $a4


#############################################################
## Instructions only for loongarch64
#############################################################

.ifdef LA64

# CHECK64-ASM-AND-OBJ: asrtle.d $t0, $t5
# CHECK64-ASM: encoding: [0x80,0x45,0x01,0x00]
asrtle.d $t0, $t5

# CHECK64-ASM-AND-OBJ: asrtgt.d $t8, $t8
# CHECK64-ASM: encoding: [0x80,0xd2,0x01,0x00]
asrtgt.d $t8, $t8

# CHECK64-ASM-AND-OBJ: rdtime.d $tp, $t3
# CHECK64-ASM: encoding: [0xe2,0x69,0x00,0x00]
rdtime.d $tp, $t3

.endif