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

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

Issue 1881623002: Subzero. ARM32. Vector shifts. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Pre-review pass. Created 4 years, 8 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 asr. 1 ; Show that we know how to translate asr.
2 2
3 ; NOTE: We use -O2 to get rid of memory stores. 3 ; NOTE: We use -O2 to get rid of memory stores.
4 4
5 ; REQUIRES: allow_dump 5 ; REQUIRES: allow_dump
6 6
7 ; Compile using standalone assembler. 7 ; Compile using standalone assembler.
8 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -O2 \ 8 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -O2 \
9 ; RUN: | FileCheck %s --check-prefix=ASM 9 ; RUN: | FileCheck %s --check-prefix=ASM
10 10
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 64
65 define internal <4 x i32> @AshrVeci32(<4 x i32> %a, <4 x i32> %b) { 65 define internal <4 x i32> @AshrVeci32(<4 x i32> %a, <4 x i32> %b) {
66 ; ASM-LABEL:AshrVeci32: 66 ; ASM-LABEL:AshrVeci32:
67 ; DIS-LABEL:00000020 <AshrVeci32>: 67 ; DIS-LABEL:00000020 <AshrVeci32>:
68 ; IASM-LABEL:AshrVeci32: 68 ; IASM-LABEL:AshrVeci32:
69 69
70 entry: 70 entry:
71 71
72 %v = ashr <4 x i32> %a, %b 72 %v = ashr <4 x i32> %a, %b
73 73
74 ; ASM: asr r0, r0, r1 74 ; ASM: vneg.s32 q1, q1
75 ; ASM: asr r0, r0, r1 75 ; ASM-NEXT: vshl.s32 q0, q0, q1
76 ; ASM: asr r0, r0, r1 76 ; DIS: 20: f3b923c2
Karl 2016/04/13 16:17:36 No need to check the bytes generated for IASM. the
John 2016/04/15 13:20:57 Done.
77 ; ASM: asr r0, r0, r1 77 ; DIS: 24: f2220440
78 ; DIS: 28: e1a00150 78 ; IASM: .byte 0xc2
79 ; DIS: 38: e1a00150 79 ; IASM-NEXT: .byte 0x23
80 ; DIS: 48: e1a00150 80 ; IASM-NEXT: .byte 0xb9
81 ; DIS: 58: e1a00150 81 ; IASM-NEXT: .byte 0xf3
82 ; IASM-NEXT: .byte 0x40
83 ; IASM-NEXT: .byte 0x4
84 ; IASM-NEXT: .byte 0x22
85 ; IASM-NEXT: .byte 0xf2
82 86
83 ret <4 x i32> %v 87 ret <4 x i32> %v
84 } 88 }
85 89
86 define internal <8 x i16> @AshrVeci16(<8 x i16> %a, <8 x i16> %b) { 90 define internal <8 x i16> @AshrVeci16(<8 x i16> %a, <8 x i16> %b) {
87 ; ASM-LABEL:AshrVeci16: 91 ; ASM-LABEL:AshrVeci16:
88 92
89 entry: 93 entry:
90 94
91 %v = ashr <8 x i16> %a, %b 95 %v = ashr <8 x i16> %a, %b
92 96
93 ; ASM: asr r0, r0, r1 97 ; ASM: vneg.s16 q1, q1
94 ; ASM: asr r0, r0, r1 98 ; ASM-NEXT: vshl.s16 q0, q0, q1
95 ; ASM: asr r0, r0, r1 99 ; DIS: 30: f3b523c2
96 ; ASM: asr r0, r0, r1 100 ; DIS: 34: f2120440
97 ; ASM: asr r0, r0, r1 101 ; IASM: .byte 0xc2
Karl 2016/04/13 16:17:36 Same here.
John 2016/04/15 13:20:56 Done.
98 ; ASM: asr r0, r0, r1 102 ; IASM-NEXT: .byte 0x23
99 ; ASM: asr r0, r0, r1 103 ; IASM-NEXT: .byte 0xb5
100 ; ASM: asr r0, r0, r1 104 ; IASM-NEXT: .byte 0xf3
105 ; IASM-NEXT: .byte 0x40
106 ; IASM-NEXT: .byte 0x4
107 ; IASM-NEXT: .byte 0x12
108 ; IASM-NEXT: .byte 0xf2
101 109
102 ret <8 x i16> %v 110 ret <8 x i16> %v
103 } 111 }
104 112
105 define internal <16 x i8> @AshrVeci8(<16 x i8> %a, <16 x i8> %b) { 113 define internal <16 x i8> @AshrVeci8(<16 x i8> %a, <16 x i8> %b) {
106 ; ASM-LABEL:AshrVeci8: 114 ; ASM-LABEL:AshrVeci8:
107 115
108 entry: 116 entry:
109 117
110 %v = ashr <16 x i8> %a, %b 118 %v = ashr <16 x i8> %a, %b
111 119
112 ; ASM: asr r0, r0, r1 120 ; ASM: vneg.s8 q1, q1
113 ; ASM: asr r0, r0, r1 121 ; ASM-NEXT: vshl.s8 q0, q0, q1
114 ; ASM: asr r0, r0, r1 122 ; DIS: 40: f3b123c2
115 ; ASM: asr r0, r0, r1 123 ; DIS: 44: f2020440
116 ; ASM: asr r0, r0, r1 124 ; IASM: .byte 0xc2
Karl 2016/04/13 16:17:36 Same here.
John 2016/04/15 13:20:57 Done.
117 ; ASM: asr r0, r0, r1 125 ; IASM-NEXT: .byte 0x23
118 ; ASM: asr r0, r0, r1 126 ; IASM-NEXT: .byte 0xb1
119 ; ASM: asr r0, r0, r1 127 ; IASM-NEXT: .byte 0xf3
120 ; ASM: asr r0, r0, r1 128 ; IASM-NEXT: .byte 0x40
121 ; ASM: asr r0, r0, r1 129 ; IASM-NEXT: .byte 0x4
122 ; ASM: asr r0, r0, r1 130 ; IASM-NEXT: .byte 0x2
123 ; ASM: asr r0, r0, r1 131 ; IASM-NEXT: .byte 0xf2
124 ; ASM: asr r0, r0, r1
125 ; ASM: asr r0, r0, r1
126 ; ASM: asr r0, r0, r1
127 ; ASM: asr r0, r0, r1
128 132
129 ret <16 x i8> %v 133 ret <16 x i8> %v
130 } 134 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698