diff options
Diffstat (limited to 'test/torture-s/simd-2.c.s')
-rw-r--r-- | test/torture-s/simd-2.c.s | 518 |
1 files changed, 518 insertions, 0 deletions
diff --git a/test/torture-s/simd-2.c.s b/test/torture-s/simd-2.c.s new file mode 100644 index 000000000..4ad8dc6b1 --- /dev/null +++ b/test/torture-s/simd-2.c.s @@ -0,0 +1,518 @@ + .text + .file "/b/build/slave/linux/build/src/buildbot/work/gcc/gcc/testsuite/gcc.c-torture/execute/simd-2.c" + .globl verify + .type verify,@function +verify: # @verify + .param i32, i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + block BB0_5 + i32.ne $push0=, $0, $4 + br_if $pop0, BB0_5 +# BB#1: # %entry + i32.ne $push1=, $1, $5 + br_if $pop1, BB0_5 +# BB#2: # %entry + i32.ne $push2=, $2, $6 + br_if $pop2, BB0_5 +# BB#3: # %entry + i32.ne $push3=, $3, $7 + br_if $pop3, BB0_5 +# BB#4: # %if.end + return +BB0_5: # %if.then + call abort + unreachable +func_end0: + .size verify, func_end0-verify + + .globl main + .type main,@function +main: # @main + .result i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 +# BB#0: # %entry + i32.const $16=, 0 + i32.load16_u $7=, i+14($16) + i32.load16_u $15=, j+14($16) + i32.add $push7=, $15, $7 + i32.store16 $23=, k+14($16), $pop7 + i32.load16_u $6=, i+12($16) + i32.load16_u $14=, j+12($16) + i32.store16 $discard=, res+14($16), $23 + i32.load16_u $5=, i+10($16) + i32.load16_u $13=, j+10($16) + i32.add $push6=, $14, $6 + i32.store16 $push8=, k+12($16), $pop6 + i32.store16 $discard=, res+12($16), $pop8 + i32.add $push5=, $13, $5 + i32.store16 $23=, k+10($16), $pop5 + i32.load16_u $4=, i+8($16) + i32.load16_u $12=, j+8($16) + i32.store16 $discard=, res+10($16), $23 + i32.load16_u $3=, i+6($16) + i32.load16_u $11=, j+6($16) + i32.add $push4=, $12, $4 + i32.store16 $push9=, k+8($16), $pop4 + i32.store16 $discard=, res+8($16), $pop9 + i32.add $push2=, $11, $3 + i32.store16 $23=, k+6($16), $pop2 + i32.load16_u $2=, i+4($16) + i32.load16_u $1=, i+2($16) + i32.load16_u $10=, j+4($16) + i32.load16_u $0=, i($16) + i32.load16_u $9=, j+2($16) + i32.load16_u $8=, j($16) + i32.store16 $17=, res+6($16), $23 + i32.add $push1=, $10, $2 + i32.store16 $push10=, k+4($16), $pop1 + i32.store16 $18=, res+4($16), $pop10 + i32.add $push0=, $9, $1 + i32.store16 $push11=, k+2($16), $pop0 + i32.store16 $19=, res+2($16), $pop11 + i32.add $push3=, $8, $0 + i32.store16 $push12=, k($16), $pop3 + i32.store16 $23=, res($16), $pop12 + i32.const $20=, 65535 + block BB1_40 + i32.and $push13=, $23, $20 + i32.const $push14=, 160 + i32.ne $push15=, $pop13, $pop14 + br_if $pop15, BB1_40 +# BB#1: # %entry + i32.and $push16=, $19, $20 + i32.const $push17=, 113 + i32.ne $push18=, $pop16, $pop17 + br_if $pop18, BB1_40 +# BB#2: # %entry + i32.and $push19=, $18, $20 + i32.const $push20=, 170 + i32.ne $push21=, $pop19, $pop20 + br_if $pop21, BB1_40 +# BB#3: # %entry + i32.and $push22=, $17, $20 + i32.const $push23=, 230 + i32.ne $push24=, $pop22, $pop23 + br_if $pop24, BB1_40 +# BB#4: # %verify.exit + block BB1_39 + i32.mul $push32=, $8, $0 + i32.store16 $push33=, k($16), $pop32 + i32.store16 $23=, res($16), $pop33 + i32.mul $push25=, $9, $1 + i32.store16 $push34=, k+2($16), $pop25 + i32.store16 $19=, res+2($16), $pop34 + i32.mul $push26=, $10, $2 + i32.store16 $push35=, k+4($16), $pop26 + i32.store16 $18=, res+4($16), $pop35 + i32.mul $push27=, $11, $3 + i32.store16 $push36=, k+6($16), $pop27 + i32.store16 $17=, res+6($16), $pop36 + i32.mul $push31=, $12, $4 + i32.store16 $push37=, k+8($16), $pop31 + i32.store16 $discard=, res+8($16), $pop37 + i32.mul $push30=, $13, $5 + i32.store16 $push38=, k+10($16), $pop30 + i32.store16 $discard=, res+10($16), $pop38 + i32.mul $push29=, $14, $6 + i32.store16 $push39=, k+12($16), $pop29 + i32.store16 $discard=, res+12($16), $pop39 + i32.mul $push28=, $15, $7 + i32.store16 $push40=, k+14($16), $pop28 + i32.store16 $discard=, res+14($16), $pop40 + i32.and $push41=, $23, $20 + i32.const $push42=, 1500 + i32.ne $push43=, $pop41, $pop42 + br_if $pop43, BB1_39 +# BB#5: # %verify.exit + i32.and $push44=, $19, $20 + i32.const $push45=, 1300 + i32.ne $push46=, $pop44, $pop45 + br_if $pop46, BB1_39 +# BB#6: # %verify.exit + i32.and $push47=, $18, $20 + i32.const $push48=, 3000 + i32.ne $push49=, $pop47, $pop48 + br_if $pop49, BB1_39 +# BB#7: # %verify.exit + i32.and $push50=, $17, $20 + i32.const $push51=, 6000 + i32.ne $push52=, $pop50, $pop51 + br_if $pop52, BB1_39 +# BB#8: # %verify.exit40 + i32.const $23=, 16 + block BB1_38 + i32.shl $push56=, $7, $23 + i32.shr_s $push57=, $pop56, $23 + i32.shl $push54=, $15, $23 + i32.shr_s $push55=, $pop54, $23 + i32.div_s $19=, $pop57, $pop55 + i32.shl $push60=, $6, $23 + i32.shr_s $push61=, $pop60, $23 + i32.shl $push58=, $14, $23 + i32.shr_s $push59=, $pop58, $23 + i32.div_s $18=, $pop61, $pop59 + i32.shl $push64=, $5, $23 + i32.shr_s $push65=, $pop64, $23 + i32.shl $push62=, $13, $23 + i32.shr_s $push63=, $pop62, $23 + i32.div_s $17=, $pop65, $pop63 + i32.shl $push68=, $4, $23 + i32.shr_s $push69=, $pop68, $23 + i32.shl $push66=, $12, $23 + i32.shr_s $push67=, $pop66, $23 + i32.div_s $24=, $pop69, $pop67 + i32.shl $push72=, $3, $23 + i32.shr_s $push73=, $pop72, $23 + i32.shl $push70=, $11, $23 + i32.shr_s $push71=, $pop70, $23 + i32.div_s $22=, $pop73, $pop71 + i32.shl $push76=, $2, $23 + i32.shr_s $push77=, $pop76, $23 + i32.shl $push74=, $10, $23 + i32.shr_s $push75=, $pop74, $23 + i32.div_s $21=, $pop77, $pop75 + i32.shl $push80=, $1, $23 + i32.shr_s $push81=, $pop80, $23 + i32.shl $push78=, $9, $23 + i32.shr_s $push79=, $pop78, $23 + i32.div_s $push53=, $pop81, $pop79 + i32.store16 $push88=, k+2($16), $pop53 + i32.store16 $25=, res+2($16), $pop88 + i32.store16 $push89=, k+4($16), $21 + i32.store16 $21=, res+4($16), $pop89 + i32.store16 $push90=, k+6($16), $22 + i32.store16 $22=, res+6($16), $pop90 + i32.store16 $push91=, k+8($16), $24 + i32.store16 $discard=, res+8($16), $pop91 + i32.store16 $push92=, k+10($16), $17 + i32.store16 $discard=, res+10($16), $pop92 + i32.store16 $push93=, k+12($16), $18 + i32.store16 $discard=, res+12($16), $pop93 + i32.store16 $push94=, k+14($16), $19 + i32.store16 $discard=, res+14($16), $pop94 + i32.shl $push84=, $0, $23 + i32.shr_s $push85=, $pop84, $23 + i32.shl $push82=, $8, $23 + i32.shr_s $push83=, $pop82, $23 + i32.div_s $push86=, $pop85, $pop83 + i32.store16 $push87=, k($16), $pop86 + i32.store16 $push95=, res($16), $pop87 + i32.and $push96=, $pop95, $20 + i32.const $push97=, 15 + i32.ne $push98=, $pop96, $pop97 + br_if $pop98, BB1_38 +# BB#9: # %verify.exit40 + i32.const $23=, 7 + i32.and $push99=, $25, $20 + i32.ne $push100=, $pop99, $23 + br_if $pop100, BB1_38 +# BB#10: # %verify.exit40 + i32.and $push101=, $21, $20 + i32.ne $push102=, $pop101, $23 + br_if $pop102, BB1_38 +# BB#11: # %verify.exit40 + i32.and $push103=, $22, $20 + i32.const $push104=, 6 + i32.ne $push105=, $pop103, $pop104 + br_if $pop105, BB1_38 +# BB#12: # %verify.exit49 + block BB1_37 + i32.and $push113=, $8, $0 + i32.store16 $push114=, k($16), $pop113 + i32.store16 $23=, res($16), $pop114 + i32.and $push106=, $9, $1 + i32.store16 $push115=, k+2($16), $pop106 + i32.store16 $19=, res+2($16), $pop115 + i32.and $push107=, $10, $2 + i32.store16 $push116=, k+4($16), $pop107 + i32.store16 $18=, res+4($16), $pop116 + i32.and $push108=, $11, $3 + i32.store16 $push117=, k+6($16), $pop108 + i32.store16 $17=, res+6($16), $pop117 + i32.and $push112=, $12, $4 + i32.store16 $push118=, k+8($16), $pop112 + i32.store16 $discard=, res+8($16), $pop118 + i32.and $push111=, $13, $5 + i32.store16 $push119=, k+10($16), $pop111 + i32.store16 $discard=, res+10($16), $pop119 + i32.and $push110=, $14, $6 + i32.store16 $push120=, k+12($16), $pop110 + i32.store16 $discard=, res+12($16), $pop120 + i32.and $push109=, $15, $7 + i32.store16 $push121=, k+14($16), $pop109 + i32.store16 $discard=, res+14($16), $pop121 + i32.and $push122=, $23, $20 + i32.const $push123=, 2 + i32.ne $push124=, $pop122, $pop123 + br_if $pop124, BB1_37 +# BB#13: # %verify.exit49 + i32.and $push125=, $19, $20 + i32.const $push126=, 4 + i32.ne $push127=, $pop125, $pop126 + br_if $pop127, BB1_37 +# BB#14: # %verify.exit49 + i32.and $push128=, $18, $20 + i32.const $push129=, 20 + i32.ne $push130=, $pop128, $pop129 + br_if $pop130, BB1_37 +# BB#15: # %verify.exit49 + i32.and $push131=, $17, $20 + i32.const $push132=, 8 + i32.ne $push133=, $pop131, $pop132 + br_if $pop133, BB1_37 +# BB#16: # %verify.exit58 + block BB1_36 + i32.or $push141=, $8, $0 + i32.store16 $push142=, k($16), $pop141 + i32.store16 $23=, res($16), $pop142 + i32.or $push134=, $9, $1 + i32.store16 $push143=, k+2($16), $pop134 + i32.store16 $19=, res+2($16), $pop143 + i32.or $push135=, $10, $2 + i32.store16 $push144=, k+4($16), $pop135 + i32.store16 $18=, res+4($16), $pop144 + i32.or $push136=, $11, $3 + i32.store16 $push145=, k+6($16), $pop136 + i32.store16 $17=, res+6($16), $pop145 + i32.or $push140=, $12, $4 + i32.store16 $push146=, k+8($16), $pop140 + i32.store16 $discard=, res+8($16), $pop146 + i32.or $push139=, $13, $5 + i32.store16 $push147=, k+10($16), $pop139 + i32.store16 $discard=, res+10($16), $pop147 + i32.or $push138=, $14, $6 + i32.store16 $push148=, k+12($16), $pop138 + i32.store16 $discard=, res+12($16), $pop148 + i32.or $push137=, $15, $7 + i32.store16 $push149=, k+14($16), $pop137 + i32.store16 $discard=, res+14($16), $pop149 + i32.and $push150=, $23, $20 + i32.const $push151=, 158 + i32.ne $push152=, $pop150, $pop151 + br_if $pop152, BB1_36 +# BB#17: # %verify.exit58 + i32.and $push153=, $19, $20 + i32.const $push154=, 109 + i32.ne $push155=, $pop153, $pop154 + br_if $pop155, BB1_36 +# BB#18: # %verify.exit58 + i32.and $push156=, $18, $20 + i32.const $push157=, 150 + i32.ne $push158=, $pop156, $pop157 + br_if $pop158, BB1_36 +# BB#19: # %verify.exit58 + i32.and $push159=, $17, $20 + i32.const $push160=, 222 + i32.ne $push161=, $pop159, $pop160 + br_if $pop161, BB1_36 +# BB#20: # %verify.exit67 + block BB1_35 + i32.xor $push169=, $0, $8 + i32.store16 $push170=, k($16), $pop169 + i32.store16 $23=, res($16), $pop170 + i32.xor $push162=, $1, $9 + i32.store16 $push171=, k+2($16), $pop162 + i32.store16 $9=, res+2($16), $pop171 + i32.xor $push163=, $2, $10 + i32.store16 $push172=, k+4($16), $pop163 + i32.store16 $10=, res+4($16), $pop172 + i32.xor $push164=, $3, $11 + i32.store16 $push173=, k+6($16), $pop164 + i32.store16 $11=, res+6($16), $pop173 + i32.xor $push168=, $4, $12 + i32.store16 $push174=, k+8($16), $pop168 + i32.store16 $discard=, res+8($16), $pop174 + i32.xor $push167=, $5, $13 + i32.store16 $push175=, k+10($16), $pop167 + i32.store16 $discard=, res+10($16), $pop175 + i32.xor $push166=, $6, $14 + i32.store16 $push176=, k+12($16), $pop166 + i32.store16 $discard=, res+12($16), $pop176 + i32.xor $push165=, $7, $15 + i32.store16 $push177=, k+14($16), $pop165 + i32.store16 $discard=, res+14($16), $pop177 + i32.and $push178=, $23, $20 + i32.const $push179=, 156 + i32.ne $push180=, $pop178, $pop179 + br_if $pop180, BB1_35 +# BB#21: # %verify.exit67 + i32.and $push181=, $9, $20 + i32.const $push182=, 105 + i32.ne $push183=, $pop181, $pop182 + br_if $pop183, BB1_35 +# BB#22: # %verify.exit67 + i32.and $push184=, $10, $20 + i32.const $push185=, 130 + i32.ne $push186=, $pop184, $pop185 + br_if $pop186, BB1_35 +# BB#23: # %verify.exit67 + i32.and $push187=, $11, $20 + i32.const $push188=, 214 + i32.ne $push189=, $pop187, $pop188 + br_if $pop189, BB1_35 +# BB#24: # %verify.exit76 + i32.sub $push197=, $16, $0 + i32.store16 $push198=, k($16), $pop197 + i32.store16 $15=, res($16), $pop198 + i32.sub $push190=, $16, $1 + i32.store16 $push199=, k+2($16), $pop190 + i32.store16 $14=, res+2($16), $pop199 + i32.sub $push191=, $16, $2 + i32.store16 $push200=, k+4($16), $pop191 + i32.store16 $13=, res+4($16), $pop200 + i32.sub $push192=, $16, $3 + i32.store16 $push201=, k+6($16), $pop192 + i32.store16 $12=, res+6($16), $pop201 + i32.sub $push196=, $16, $4 + i32.store16 $push202=, k+8($16), $pop196 + i32.store16 $discard=, res+8($16), $pop202 + i32.sub $push195=, $16, $5 + i32.store16 $push203=, k+10($16), $pop195 + i32.store16 $discard=, res+10($16), $pop203 + i32.sub $push194=, $16, $6 + i32.store16 $push204=, k+12($16), $pop194 + i32.store16 $discard=, res+12($16), $pop204 + i32.sub $push193=, $16, $7 + i32.store16 $push205=, k+14($16), $pop193 + i32.store16 $discard=, res+14($16), $pop205 + i32.const $23=, 65386 + block BB1_34 + i32.and $push206=, $15, $20 + i32.ne $push207=, $pop206, $23 + br_if $pop207, BB1_34 +# BB#25: # %verify.exit76 + i32.and $push208=, $14, $20 + i32.const $push209=, 65436 + i32.ne $push210=, $pop208, $pop209 + br_if $pop210, BB1_34 +# BB#26: # %verify.exit76 + i32.and $push211=, $13, $20 + i32.ne $push212=, $pop211, $23 + br_if $pop212, BB1_34 +# BB#27: # %verify.exit76 + i32.and $push213=, $12, $20 + i32.const $push214=, 65336 + i32.ne $push215=, $pop213, $pop214 + br_if $pop215, BB1_34 +# BB#28: # %verify.exit85 + i32.const $23=, -1 + i32.xor $push223=, $0, $23 + i32.store16 $push224=, k($16), $pop223 + i32.store16 $0=, res($16), $pop224 + i32.xor $push216=, $1, $23 + i32.store16 $push225=, k+2($16), $pop216 + i32.store16 $1=, res+2($16), $pop225 + i32.xor $push217=, $2, $23 + i32.store16 $push226=, k+4($16), $pop217 + i32.store16 $2=, res+4($16), $pop226 + i32.xor $push218=, $3, $23 + i32.store16 $push227=, k+6($16), $pop218 + i32.store16 $3=, res+6($16), $pop227 + i32.xor $push222=, $4, $23 + i32.store16 $push228=, k+8($16), $pop222 + i32.store16 $discard=, res+8($16), $pop228 + i32.xor $push221=, $5, $23 + i32.store16 $push229=, k+10($16), $pop221 + i32.store16 $discard=, res+10($16), $pop229 + i32.xor $push220=, $6, $23 + i32.store16 $push230=, k+12($16), $pop220 + i32.store16 $discard=, res+12($16), $pop230 + i32.xor $push219=, $7, $23 + i32.store16 $push231=, k+14($16), $pop219 + i32.store16 $discard=, res+14($16), $pop231 + i32.const $23=, 65385 + block BB1_33 + i32.and $push232=, $0, $20 + i32.ne $push233=, $pop232, $23 + br_if $pop233, BB1_33 +# BB#29: # %verify.exit85 + i32.and $push234=, $1, $20 + i32.const $push235=, 65435 + i32.ne $push236=, $pop234, $pop235 + br_if $pop236, BB1_33 +# BB#30: # %verify.exit85 + i32.and $push237=, $2, $20 + i32.ne $push238=, $pop237, $23 + br_if $pop238, BB1_33 +# BB#31: # %verify.exit85 + i32.and $push239=, $3, $20 + i32.const $push240=, 65335 + i32.ne $push241=, $pop239, $pop240 + br_if $pop241, BB1_33 +# BB#32: # %verify.exit94 + call exit, $16 + unreachable +BB1_33: # %if.then.i93 + call abort + unreachable +BB1_34: # %if.then.i84 + call abort + unreachable +BB1_35: # %if.then.i75 + call abort + unreachable +BB1_36: # %if.then.i66 + call abort + unreachable +BB1_37: # %if.then.i57 + call abort + unreachable +BB1_38: # %if.then.i48 + call abort + unreachable +BB1_39: # %if.then.i39 + call abort + unreachable +BB1_40: # %if.then.i + call abort + unreachable +func_end1: + .size main, func_end1-main + + .type i,@object # @i + .data + .globl i + .align 4 +i: + .int16 150 # 0x96 + .int16 100 # 0x64 + .int16 150 # 0x96 + .int16 200 # 0xc8 + .int16 0 # 0x0 + .int16 0 # 0x0 + .int16 0 # 0x0 + .int16 0 # 0x0 + .size i, 16 + + .type j,@object # @j + .globl j + .align 4 +j: + .int16 10 # 0xa + .int16 13 # 0xd + .int16 20 # 0x14 + .int16 30 # 0x1e + .int16 1 # 0x1 + .int16 1 # 0x1 + .int16 1 # 0x1 + .int16 1 # 0x1 + .size j, 16 + + .type k,@object # @k + .bss + .globl k + .align 4 +k: + .zero 16 + .size k, 16 + + .type res,@object # @res + .globl res + .align 4 +res: + .zero 16 + .size res, 16 + + + .ident "clang version 3.8.0 " + .section ".note.GNU-stack","",@progbits |