Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: tests_lit/assembler/arm32/vadd.ll

Issue 1571433004: Implements include/exclude register lists for translation. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: fix nits. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 ; Show that we know how to translate vadd. 1 ; Show that we know how to translate vadd.
2 2
3 ; NOTE: We use -O2 to get rid of memory stores. 3 ; NOTE: Restricts S and D registers to ones that will better test S/D
4 ; register encodings.
4 5
5 ; REQUIRES: allow_dump 6 ; REQUIRES: allow_dump
6 7
7 ; Compile using standalone assembler. 8 ; Compile using standalone assembler.
8 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -O2 \ 9 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -Om1 \
10 ; RUN: -use-registers s20,s22,d20,d22 \
9 ; RUN: | FileCheck %s --check-prefix=ASM 11 ; RUN: | FileCheck %s --check-prefix=ASM
10 12
11 ; Show bytes in assembled standalone code. 13 ; Show bytes in assembled standalone code.
12 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \ 14 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \
13 ; RUN: --args -O2 | FileCheck %s --check-prefix=DIS 15 ; RUN: --args -Om1 \
16 ; RUN: -use-registers s20,s22,d20,d22 \
17 ; RUN: | FileCheck %s --check-prefix=DIS
14 18
15 ; Compile using integrated assembler. 19 ; Compile using integrated assembler.
16 ; RUN: %p2i --filetype=iasm -i %s --target=arm32 --args -O2 \ 20 ; RUN: %p2i --filetype=iasm -i %s --target=arm32 --args -Om1 \
21 ; RUN: -use-registers s20,s22,d20,d22 \
17 ; RUN: | FileCheck %s --check-prefix=IASM 22 ; RUN: | FileCheck %s --check-prefix=IASM
18 23
19 ; Show bytes in assembled integrated code. 24 ; Show bytes in assembled integrated code.
20 ; RUN: %p2i --filetype=iasm -i %s --target=arm32 --assemble --disassemble \ 25 ; RUN: %p2i --filetype=iasm -i %s --target=arm32 --assemble --disassemble \
21 ; RUN: --args -O2 | FileCheck %s --check-prefix=DIS 26 ; RUN: --args -Om1 \
27 ; RUN: -use-registers s20,s22,d20,d22 \
28 ; RUN: | FileCheck %s --check-prefix=DIS
22 29
23 define internal float @testVaddFloat(float %v1, float %v2) { 30 define internal float @testVaddFloat(float %v1, float %v2) {
24 ; ASM-LABEL: testVaddFloat: 31 ; ASM-LABEL: testVaddFloat:
25 ; DIS-LABEL: 00000000 <testVaddFloat>: 32 ; DIS-LABEL: 00000000 <testVaddFloat>:
26 ; IASM-LABEL: testVaddFloat: 33 ; IASM-LABEL: testVaddFloat:
27 34
28 entry: 35 entry:
29 ; ASM-NEXT: .LtestVaddFloat$entry: 36 ; ASM-NEXT: .LtestVaddFloat$entry:
30 ; IASM-NEXT: .LtestVaddFloat$entry: 37 ; IASM-NEXT: .LtestVaddFloat$entry:
31 38
39 ; ASM-NEXT: vpush {s20}
40 ; DIS-NEXT: 0: ed2daa01
41 ; IASM-NEXT: .byte 0x1
42 ; IASM-NEXT: .byte 0xaa
43 ; IASM-NEXT: .byte 0x2d
44 ; IASM-NEXT: .byte 0xed
45
46 ; ASM-NEXT: vpush {s22}
47 ; DIS-NEXT: 4: ed2dba01
48 ; IASM-NEXT: .byte 0x1
49 ; IASM-NEXT: .byte 0xba
50 ; IASM-NEXT: .byte 0x2d
51 ; IASM-NEXT: .byte 0xed
52
53 ; ASM-NEXT: sub sp, sp, #12
54 ; DIS-NEXT: 8: e24dd00c
55 ; IASM-NEXT: .byte 0xc
56 ; IASM-NEXT: .byte 0xd0
57 ; IASM-NEXT: .byte 0x4d
58 ; IASM-NEXT: .byte 0xe2
59
60 ; ASM-NEXT: vstr s0, [sp, #8]
61 ; ASM-NEXT: # [sp, #8] = def.pseudo
Jim Stichnoth 2016/01/10 16:51:26 Trailing whitespace here and 3 other places. Actu
Karl 2016/01/12 23:44:05 Acknowledged.
62 ; DIS-NEXT: c: ed8d0a02
63 ; IASM-NEXT: vstr s0, [sp, #8]
64
65 ; ASM-NEXT: vstr s1, [sp, #4]
66 ; ASM-NEXT: # [sp, #4] = def.pseudo
67 ; DIS-NEXT: 10: edcd0a01
68 ; IASM-NEXT: vstr s1, [sp, #4]
69
32 %res = fadd float %v1, %v2 70 %res = fadd float %v1, %v2
33 71
34 ; ASM-NEXT: vadd.f32 s0, s0, s1 72 ; ASM-NEXT: vldr s20, [sp, #8]
35 ; DIS-NEXT: 0: ee300a20 73 ; DIS-NEXT: 14:» ed9daa02
Jim Stichnoth 2016/01/10 16:51:26 untabify
Karl 2016/01/14 18:27:19 Done.
36 ; IASM-NEXT: .byte 0x20 74 ; IASM-NEXT: » vldr» s20, [sp, #8]
37 ; IASM-NEXT: .byte 0xa 75
38 ; IASM-NEXT: .byte 0x30 76 ; ASM-NEXT: vldr s22, [sp, #4]
39 ; IASM-NEXT: .byte 0xee 77 ; DIS-NEXT: 18:» ed9dba01
78 ; IASM-NEXT: » vldr» s22, [sp, #4]
79
80 ; ASM-NEXT: vadd.f32 s20, s20, s22
81 ; DIS-NEXT: 1c:» ee3aaa0b
82 ; IASM-NEXT: » .byte 0xb
83 ; IASM-NEXT: » .byte 0xaa
84 ; IASM-NEXT: » .byte 0x3a
85 ; IASM-NEXT: » .byte 0xee
40 86
41 ret float %res 87 ret float %res
42 } 88 }
43 89
44 define internal double @testVaddDouble(double %v1, double %v2) { 90 define internal double @testVaddDouble(double %v1, double %v2) {
45 ; ASM-LABEL: testVaddDouble: 91 ; ASM-LABEL: testVaddDouble:
46 ; DIS-LABEL: 00000010 <testVaddDouble>: 92 ; DIS-LABEL: 00000040 <testVaddDouble>:
47 ; IASM-LABEL: testVaddDouble: 93 ; IASM-LABEL: .LtestVaddDouble$entry:
48 94
49 entry: 95 entry:
50 ; ASM-NEXT: .LtestVaddDouble$entry: 96 ; ASM-NEXT: .LtestVaddDouble$entry:
51 ; IASM-NEXT: .LtestVaddDouble$entry: 97
98 ; ASM-NEXT: sub sp, sp, #24
99 ; DIS-NEXT: 40:» e24dd018
100 ; IASM-NEXT: » .byte 0x18
101 ; IASM-NEXT: » .byte 0xd0
102 ; IASM-NEXT: » .byte 0x4d
103 ; IASM-NEXT: » .byte 0xe2
104
105 ; ASM-NEXT: vstr d0, [sp, #16]
106 ; ASM-NEXT: # [sp, #16] = def.pseudo
107 ; DIS-NEXT: 44:» ed8d0b04
108 ; IASM-NEXT: » vstr» d0, [sp, #16]
109
110 ; ASM-NEXT: vstr d1, [sp, #8]
111 ; ASM-NEXT: # [sp, #8] = def.pseudo
112 ; DIS-NEXT: 48:» ed8d1b02
113 ; IASM-NEXT: » vstr» d1, [sp, #8]
52 114
53 %res = fadd double %v1, %v2 115 %res = fadd double %v1, %v2
54 116
55 ; ASM-NEXT: vadd.f64 d0, d0, d1 117 ; ASM-NEXT: vldr d22, [sp, #16]
56 ; DIS-NEXT: 10: ee300b01 118 ; DIS-NEXT: 4c:» eddd6b04
57 ; IASM-NEXT: .byte 0x1 119 ; IASM-NEXT: » vldr» d22, [sp, #16]
58 ; IASM-NEXT: .byte 0xb 120
59 ; IASM-NEXT: .byte 0x30 121 ; ASM-NEXT: vldr d20, [sp, #8]
60 ; IASM-NEXT: .byte 0xee 122 ; DIS-NEXT: 50:» eddd4b02
123 ; IASM-NEXT: » vldr» d20, [sp, #8]
124
125 ; ASM-NEXT: vadd.f64 d22, d22, d20
126 ; DIS-NEXT: 54:» ee766ba4
127 ; IASM-NEXT: » .byte 0xa4
128 ; IASM-NEXT: » .byte 0x6b
129 ; IASM-NEXT: » .byte 0x76
130 ; IASM-NEXT: » .byte 0xee
61 131
62 ret double %res 132 ret double %res
63 } 133 }
OLDNEW
« src/IceTargetLoweringARM32.cpp ('K') | « src/IceTargetLoweringARM32.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698