OLD | NEW |
1 ; This is a smoke test of random number generator. | 1 ; This is a smoke test of random number generator. |
2 ; The random number generators for different randomization passes should be | 2 ; The random number generators for different randomization passes should be |
3 ; decoupled. The random number used in one randomization pass should not be | 3 ; decoupled. The random number used in one randomization pass should not be |
4 ; influenced by the existence of other randomization passes. | 4 ; influenced by the existence of other randomization passes. |
5 | 5 |
6 ; REQUIRES: allow_dump, target_X8632 | 6 ; REQUIRES: allow_dump, target_X8632 |
7 | 7 |
8 ; Command for checking constant blinding (Need to turn off nop-insertion) | 8 ; Command for checking constant blinding (Need to turn off nop-insertion) |
9 ; RUN: %p2i --target x8632 -i %s --filetype=obj --disassemble --args -O2 \ | 9 ; RUN: %p2i --target x8632 -i %s --filetype=obj --disassemble --args -O2 \ |
10 ; RUN: -sz-seed=1 -randomize-pool-immediates=randomize \ | 10 ; RUN: -sz-seed=1 -randomize-pool-immediates=randomize \ |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 @ArrayUninitConstDouble = internal constant [200 x i8] zeroinitializer, align 8 | 103 @ArrayUninitConstDouble = internal constant [200 x i8] zeroinitializer, align 8 |
104 @ArrayUninitConstInt = internal constant [20 x i8] zeroinitializer, align 4 | 104 @ArrayUninitConstInt = internal constant [20 x i8] zeroinitializer, align 4 |
105 | 105 |
106 | 106 |
107 define internal <4 x i32> @func1(<4 x i32> %a, <4 x i32> %b) { | 107 define internal <4 x i32> @func1(<4 x i32> %a, <4 x i32> %b) { |
108 entry: | 108 entry: |
109 %res = mul <4 x i32> %a, %b | 109 %res = mul <4 x i32> %a, %b |
110 ret <4 x i32> %res | 110 ret <4 x i32> %res |
111 | 111 |
112 ; NOPINSERTION-LABEL: func1 | 112 ; NOPINSERTION-LABEL: func1 |
113 ; NOPINSERTION: nop # variant = 1 | 113 ; NOPINSERTION: nop /* variant = 1 */ |
114 ; NOPINSERTION: subl $60, %esp | 114 ; NOPINSERTION: subl $60, %esp |
115 ; NOPINSERTION: nop # variant = 3 | 115 ; NOPINSERTION: nop /* variant = 3 */ |
116 ; NOPINSERTION: movups %xmm0, 32(%esp) | 116 ; NOPINSERTION: movups %xmm0, 32(%esp) |
117 ; NOPINSERTION: movups %xmm1, 16(%esp) | 117 ; NOPINSERTION: movups %xmm1, 16(%esp) |
118 ; NOPINSERTION: movups 32(%esp), %xmm0 | 118 ; NOPINSERTION: movups 32(%esp), %xmm0 |
119 ; NOPINSERTION: nop # variant = 1 | 119 ; NOPINSERTION: nop /* variant = 1 */ |
120 ; NOPINSERTION: pshufd $49, 32(%esp), %xmm1 | 120 ; NOPINSERTION: pshufd $49, 32(%esp), %xmm1 |
121 ; NOPINSERTION: nop # variant = 4 | 121 ; NOPINSERTION: nop /* variant = 4 */ |
122 ; NOPINSERTION: pshufd $49, 16(%esp), %xmm2 | 122 ; NOPINSERTION: pshufd $49, 16(%esp), %xmm2 |
123 ; NOPINSERTION: nop # variant = 1 | 123 ; NOPINSERTION: nop /* variant = 1 */ |
124 ; NOPINSERTION: pmuludq 16(%esp), %xmm0 | 124 ; NOPINSERTION: pmuludq 16(%esp), %xmm0 |
125 ; NOPINSERTION: pmuludq %xmm2, %xmm1 | 125 ; NOPINSERTION: pmuludq %xmm2, %xmm1 |
126 ; NOPINSERTION: nop # variant = 0 | 126 ; NOPINSERTION: nop /* variant = 0 */ |
127 ; NOPINSERTION: shufps $136, %xmm1, %xmm0 | 127 ; NOPINSERTION: shufps $136, %xmm1, %xmm0 |
128 ; NOPINSERTION: nop # variant = 3 | 128 ; NOPINSERTION: nop /* variant = 3 */ |
129 ; NOPINSERTION: pshufd $216, %xmm0, %xmm0 | 129 ; NOPINSERTION: pshufd $216, %xmm0, %xmm0 |
130 ; NOPINSERTION: nop # variant = 1 | 130 ; NOPINSERTION: nop /* variant = 1 */ |
131 ; NOPINSERTION: movups %xmm0, (%esp) | 131 ; NOPINSERTION: movups %xmm0, (%esp) |
132 ; NOPINSERTION: movups (%esp), %xmm0 | 132 ; NOPINSERTION: movups (%esp), %xmm0 |
133 ; NOPINSERTION: addl $60, %esp | 133 ; NOPINSERTION: addl $60, %esp |
134 ; NOPINSERTION: ret | 134 ; NOPINSERTION: ret |
135 } | 135 } |
136 | 136 |
137 | 137 |
138 | 138 |
139 define internal float @func2(float* %arg) { | 139 define internal float @func2(float* %arg) { |
140 entry: | 140 entry: |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 ; GLOBALVARS-LABEL: ArrayUninit | 249 ; GLOBALVARS-LABEL: ArrayUninit |
250 ; GLOBALVARS-LABEL: PrimitiveInitStatic | 250 ; GLOBALVARS-LABEL: PrimitiveInitStatic |
251 ; GLOBALVARS-LABEL: ArrayUninitConstDouble | 251 ; GLOBALVARS-LABEL: ArrayUninitConstDouble |
252 ; GLOBALVARS-LABEL: ArrayUninitConstInt | 252 ; GLOBALVARS-LABEL: ArrayUninitConstInt |
253 ; GLOBALVARS-LABEL: PrimitiveInitConst | 253 ; GLOBALVARS-LABEL: PrimitiveInitConst |
254 | 254 |
255 ; Check for pooled constant reordering | 255 ; Check for pooled constant reordering |
256 ; POOLEDCONSTANTS-LABEL: .rodata.cst4 | 256 ; POOLEDCONSTANTS-LABEL: .rodata.cst4 |
257 ; POOLEDCONSTANTS: 0000803e 0000803f 0000003f 00008040 | 257 ; POOLEDCONSTANTS: 0000803e 0000803f 0000003f 00008040 |
258 ; POOLEDCONSTANTS: 00000040 | 258 ; POOLEDCONSTANTS: 00000040 |
OLD | NEW |