From: 钟居哲 <juzhe.zhong@rivai.ai>
To: "Jeff Law" <jeffreyalaw@gmail.com>,
gcc-patches <gcc-patches@gcc.gnu.org>
Cc: kito.cheng <kito.cheng@gmail.com>,
kito.cheng <kito.cheng@sifive.com>, palmer <palmer@dabbelt.com>,
palmer <palmer@rivosinc.com>, rdapp.gcc <rdapp.gcc@gmail.com>
Subject: Re: Re: [PATCH] RISC-V: Support vfwnmacc/vfwmsac/vfwnmsac combine lowering
Date: Thu, 29 Jun 2023 06:56:36 +0800 [thread overview]
Message-ID: <AC4B7DA7E6E610C6+202306290656359649830@rivai.ai> (raw)
In-Reply-To: <dc4aee0e-4ff6-b63f-831e-098d3555cc5d@gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 742 bytes --]
juzhe.zhong@rivai.ai
From: Jeff Law
Date: 2023-06-29 06:43
To: 钟居哲; gcc-patches
CC: kito.cheng; kito.cheng; palmer; palmer; rdapp.gcc
Subject: Re: [PATCH] RISC-V: Support vfwnmacc/vfwmsac/vfwnmsac combine lowering
On 6/28/23 16:10, 钟居哲 wrote:
> Sure.
>
> https://godbolt.org/z/8857KzTno <https://godbolt.org/z/8857KzTno>
>
> Failed to match this instruction:
> (set (reg:VNx2DF 134 [ vect__31.47 ])
> (fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 136 [
> vect__28.44 ])))
> (reg:VNx2DF 150 [ vect__8.12 ])
> (reg:VNx2DF 171 [ vect__29.45 ])))
Please attach the full dump. I would expect to see additional attempts
with more operands replaced.
jeff
[-- Attachment #2: dump.txt --]
[-- Type: application/octet-stream, Size: 129467 bytes --]
;; Function vwadd_TYPE1_float (_Z17vwadd_TYPE1_floatPdS_S_S_PfS0_S0_S0_i, funcdef_no=0, decl_uid=2849, cgraph_uid=1, symbol_order=0)
scanning new insn with uid = 85.
rescanning insn with uid = 2.
scanning new insn with uid = 86.
rescanning insn with uid = 3.
scanning new insn with uid = 87.
rescanning insn with uid = 4.
scanning new insn with uid = 88.
rescanning insn with uid = 5.
scanning new insn with uid = 89.
rescanning insn with uid = 6.
scanning new insn with uid = 90.
rescanning insn with uid = 7.
scanning new insn with uid = 91.
rescanning insn with uid = 8.
scanning new insn with uid = 92.
rescanning insn with uid = 9.
starting the processing of deferred insns
ending the processing of deferred insns
df_analyze called
df_worklist_dataflow_doublequeue: n_basic_blocks 6 n_edges 7 count 7 ( 1.2)
vwadd_TYPE1_float
Dataflow summary:
def_info->table_size = 71, use_info->table_size = 0
;; fully invalidated by EH 0 [zero] 3 [gp] 4 [tp] 5 [t0] 6 [t1] 7 [t2] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 28 [t3] 29 [t4] 30 [t5] 31 [t6] 32 [ft0] 33 [ft1] 34 [ft2] 35 [ft3] 36 [ft4] 37 [ft5] 38 [ft6] 39 [ft7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 60 [ft8] 61 [ft9] 62 [ft10] 63 [ft11] 66 [vl] 67 [vtype] 68 [vxrm] 69 [N/A] 70 [N/A] 71 [N/A] 72 [N/A] 73 [N/A] 74 [N/A] 75 [N/A] 76 [N/A] 77 [N/A] 78 [N/A] 79 [N/A] 80 [N/A] 81 [N/A] 82 [N/A] 83 [N/A] 84 [N/A] 85 [N/A] 86 [N/A] 87 [N/A] 88 [N/A] 89 [N/A] 90 [N/A] 91 [N/A] 92 [N/A] 93 [N/A] 94 [N/A] 95 [N/A] 96 [v0] 97 [v1] 98 [v2] 99 [v3] 100 [v4] 101 [v5] 102 [v6] 103 [v7] 104 [v8] 105 [v9] 106 [v10] 107 [v11] 108 [v12] 109 [v13] 110 [v14] 111 [v15] 112 [v16] 113 [v17] 114 [v18] 115 [v19] 116 [v20] 117 [v21] 118 [v22] 119 [v23] 120 [v24] 121 [v25] 122 [v26] 123 [v27] 124 [v28] 125 [v29] 126 [v30] 127 [v31]
;; hardware regs used 2 [sp] 64 [arg] 65 [frame]
;; regular block artificial uses 2 [sp] 8 [s0] 64 [arg] 65 [frame]
;; eh block artificial uses 2 [sp] 8 [s0] 64 [arg] 65 [frame]
;; entry block defs 1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 64 [arg] 65 [frame]
;; exit block uses 1 [ra] 2 [sp] 8 [s0] 65 [frame]
;; regs ever live 0 [zero] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 66 [vl] 67 [vtype]
;; ref usage r0={8u} r1={1d,1u} r2={1d,5u} r8={1d,5u} r10={1d,1u} r11={1d,1u} r12={1d,1u} r13={1d,1u} r14={1d,1u} r15={1d,1u} r16={1d,1u} r17={1d,1u} r42={1d} r43={1d} r44={1d} r45={1d} r46={1d} r47={1d} r48={1d} r49={1d} r64={1d,5u,1e} r65={1d,5u} r66={12u} r67={12u} r134={1d,1u} r136={1d,1u} r137={1d,1u} r138={2d,3u} r139={1d,1u} r140={1d,1u} r141={2d,3u} r142={1d,1u} r143={1d,2u} r144={1d,1u} r145={1d,1u} r146={2d,3u} r147={1d,1u} r148={1d,2u} r149={1d,1u} r150={1d,3u} r151={1d,1u} r152={1d,4u} r153={1d,1u} r154={1d,8u} r155={2d,3u} r156={2d,3u} r157={1d,15u} r158={2d,3u} r159={2d,3u} r160={2d,3u} r161={2d,3u} r162={2d,2u} r163={2d,2u} r164={2d,2u} r165={2d,2u} r166={1d,2u} r168={1d} r169={1d} r170={1d} r171={1d,1u} r172={1d} r173={1d,1u} r174={1d,1u} r175={1d,1u} r176={1d,1u} r177={1d,1u} r178={1d,1u} r179={1d,1u} r180={1d,1u}
;; total ref usage 233{79d,153u,1e} in 70{70 regular + 0 call} insns.
( )->[0]->( 2 )
;; bb 0 artificial_defs: { d0(1){ }d1(2){ }d2(8){ }d3(10){ }d4(11){ }d5(12){ }d6(13){ }d7(14){ }d8(15){ }d9(16){ }d10(17){ }d11(42){ }d12(43){ }d13(44){ }d14(45){ }d15(46){ }d16(47){ }d17(48){ }d18(49){ }d19(64){ }d20(65){ }}
;; bb 0 artificial_uses: { }
;; lr in 0 [zero] 66 [vl] 67 [vtype]
;; lr use
;; lr def 1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 64 [arg] 65 [frame]
;; live in
;; live gen 1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 64 [arg] 65 [frame]
;; live kill
;; lr out 0 [zero] 1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 64 [arg] 65 [frame] 66 [vl] 67 [vtype]
;; live out 1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 64 [arg] 65 [frame]
( 0 )->[2]->( 3 5 )
;; bb 2 artificial_defs: { }
;; bb 2 artificial_uses: { u-1(2){ }u-1(8){ }u-1(64){ }u-1(65){ }}
;; lr in 0 [zero] 1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 64 [arg] 65 [frame] 66 [vl] 67 [vtype]
;; lr use 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 64 [arg] 65 [frame]
;; lr def 158 159 160 161 162 163 164 165 166 173 174 175 176 177 178 179 180
;; live in 1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 64 [arg] 65 [frame]
;; live gen 158 159 160 161 162 163 164 165 166
;; live kill
;; lr out 0 [zero] 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 158 159 160 161 162 163 164 165 166
;; live out 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 158 159 160 161 162 163 164 165 166
( 2 )->[3]->( 4 )
;; bb 3 artificial_defs: { }
;; bb 3 artificial_uses: { u-1(2){ }u-1(8){ }u-1(64){ }u-1(65){ }}
;; lr in 0 [zero] 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 158 159 160 161 162 163 164 165 166
;; lr use 2 [sp] 8 [s0] 64 [arg] 65 [frame] 158 159 160 161 166
;; lr def 138 141 146 155 156
;; live in 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 158 159 160 161 162 163 164 165 166
;; live gen 138 141 146 155 156
;; live kill
;; lr out 0 [zero] 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 138 141 146 155 156 158 159 160 161 162 163 164 165
;; live out 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 138 141 146 155 156 158 159 160 161 162 163 164 165
( 4 3 )->[4]->( 4 5 )
;; bb 4 artificial_defs: { }
;; bb 4 artificial_uses: { u-1(2){ }u-1(8){ }u-1(64){ }u-1(65){ }}
;; lr in 0 [zero] 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 138 141 146 155 156 158 159 160 161 162 163 164 165
;; lr use 0 [zero] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 138 141 146 155 156 158 159 160 161 162 163 164 165
;; lr def 134 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 168 169 170 171 172
;; live in 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 138 141 146 155 156 158 159 160 161 162 163 164 165
;; live gen 134 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 171
;; live kill 168 169 170 172
;; lr out 0 [zero] 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 138 141 146 155 156 158 159 160 161 162 163 164 165
;; live out 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 138 141 146 155 156 158 159 160 161 162 163 164 165
( 4 2 )->[5]->( 1 )
;; bb 5 artificial_defs: { }
;; bb 5 artificial_uses: { u-1(2){ }u-1(8){ }u-1(64){ }u-1(65){ }}
;; lr in 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame]
;; lr use 2 [sp] 8 [s0] 64 [arg] 65 [frame]
;; lr def
;; live in 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame]
;; live gen
;; live kill
;; lr out 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame]
;; live out 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame]
( 5 )->[1]->( )
;; bb 1 artificial_defs: { }
;; bb 1 artificial_uses: { u-1(1){ }u-1(2){ }u-1(8){ }u-1(65){ }}
;; lr in 1 [ra] 2 [sp] 8 [s0] 65 [frame]
;; lr use 1 [ra] 2 [sp] 8 [s0] 65 [frame]
;; lr def
;; live in 1 [ra] 2 [sp] 8 [s0] 65 [frame]
;; live gen
;; live kill
;; lr out
;; live out
Finding needed instructions:
Adding insn 24 to worklist
Adding insn 72 to worklist
Adding insn 54 to worklist
Adding insn 48 to worklist
Adding insn 44 to worklist
Adding insn 38 to worklist
Finished finding needed instructions:
processing block 5 lr out = 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame]
processing block 4 lr out = 0 [zero] 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 138 141 146 155 156 158 159 160 161 162 163 164 165
Adding insn 70 to worklist
Adding insn 69 to worklist
Adding insn 68 to worklist
Adding insn 67 to worklist
Adding insn 66 to worklist
Adding insn 65 to worklist
Adding insn 64 to worklist
Adding insn 63 to worklist
Adding insn 62 to worklist
Adding insn 61 to worklist
Adding insn 60 to worklist
Adding insn 59 to worklist
Adding insn 58 to worklist
Adding insn 53 to worklist
Adding insn 52 to worklist
Adding insn 51 to worklist
Adding insn 50 to worklist
Adding insn 47 to worklist
Adding insn 46 to worklist
Adding insn 43 to worklist
Adding insn 42 to worklist
Adding insn 41 to worklist
Adding insn 40 to worklist
Adding insn 37 to worklist
Adding insn 36 to worklist
Adding insn 35 to worklist
Adding insn 34 to worklist
Adding insn 33 to worklist
Adding insn 32 to worklist
Adding insn 31 to worklist
Adding insn 30 to worklist
Adding insn 28 to worklist
processing block 3 lr out = 0 [zero] 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 138 141 146 155 156 158 159 160 161 162 163 164 165
Adding insn 15 to worklist
Adding insn 14 to worklist
Adding insn 13 to worklist
Adding insn 12 to worklist
Adding insn 26 to worklist
processing block 2 lr out = 0 [zero] 1 [ra] 2 [sp] 8 [s0] 64 [arg] 65 [frame] 66 [vl] 67 [vtype] 158 159 160 161 162 163 164 165 166
Adding insn 10 to worklist
Adding insn 9 to worklist
Adding insn 92 to worklist
Adding insn 8 to worklist
Adding insn 91 to worklist
Adding insn 7 to worklist
Adding insn 90 to worklist
Adding insn 6 to worklist
Adding insn 89 to worklist
Adding insn 5 to worklist
Adding insn 88 to worklist
Adding insn 4 to worklist
Adding insn 87 to worklist
Adding insn 3 to worklist
Adding insn 86 to worklist
Adding insn 2 to worklist
Adding insn 85 to worklist
df_worklist_dataflow_doublequeue: n_basic_blocks 6 n_edges 7 count 7 ( 1.2)
insn_cost 4 for 85: r173:DI=a0:DI
REG_DEAD a0:DI
insn_cost 4 for 2: r158:DI=r173:DI
REG_DEAD r173:DI
insn_cost 4 for 86: r174:DI=a1:DI
REG_DEAD a1:DI
insn_cost 4 for 3: r159:DI=r174:DI
REG_DEAD r174:DI
insn_cost 4 for 87: r175:DI=a2:DI
REG_DEAD a2:DI
insn_cost 4 for 4: r160:DI=r175:DI
REG_DEAD r175:DI
insn_cost 4 for 88: r176:DI=a3:DI
REG_DEAD a3:DI
insn_cost 4 for 5: r161:DI=r176:DI
REG_DEAD r176:DI
insn_cost 4 for 89: r177:DI=a4:DI
REG_DEAD a4:DI
insn_cost 4 for 6: r162:DI=r177:DI
REG_DEAD r177:DI
insn_cost 4 for 90: r178:DI=a5:DI
REG_DEAD a5:DI
insn_cost 4 for 7: r163:DI=r178:DI
REG_DEAD r178:DI
insn_cost 4 for 91: r179:DI=a6:DI
REG_DEAD a6:DI
insn_cost 4 for 8: r164:DI=r179:DI
REG_DEAD r179:DI
insn_cost 4 for 92: r180:DI=a7:DI
REG_DEAD a7:DI
insn_cost 4 for 9: r165:DI=r180:DI
REG_DEAD r180:DI
insn_cost 28 for 10: r166:DI=sign_extend([arg:DI])
REG_EQUIV sign_extend([arg:DI])
insn_cost 0 for 18: debug begin stmt marker
insn_cost 0 for 19: debug i => 0
insn_cost 0 for 20: debug begin stmt marker
insn_cost 4 for 24: pc={(r166:DI<=0)?L76:pc}
REG_BR_PROB 118111604
insn_cost 4 for 26: r156:DI=r166:DI
REG_DEAD r166:DI
insn_cost 4 for 12: r155:DI=r161:DI
insn_cost 4 for 13: r138:DI=r160:DI
insn_cost 4 for 14: r141:DI=r159:DI
insn_cost 4 for 15: r146:DI=r158:DI
insn_cost 12 for 28: r157:DI=unspec[r156:DI,0x8,0x5,0,0] 67
insn_cost 0 for 29: debug begin stmt marker
insn_cost 4 for 30: r154:DI=r157:DI<<0x3
insn_cost 4 for 31: r153:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r158:DI]:unspec[zero:SI] 68}
insn_cost 4 for 32: r152:DI=r157:DI<<0x2
insn_cost 4 for 33: r151:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r162:DI]:unspec[zero:SI] 68}
insn_cost 4 for 34: r150:VNx2DF=float_extend(r151:VNx2SF)
REG_DEAD r151:VNx2SF
insn_cost 4 for 35: r149:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r163:DI]:unspec[zero:SI] 68}
insn_cost 4 for 36: r148:VNx2DF=float_extend(r149:VNx2SF)
REG_DEAD r149:VNx2SF
insn_cost 4 for 37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
insn_cost 4 for 38: [r146:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r147:VNx2DF:[r146:DI]}
REG_DEAD r147:VNx2DF
insn_cost 0 for 39: debug begin stmt marker
insn_cost 4 for 40: r145:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r159:DI]:unspec[zero:SI] 68}
insn_cost 4 for 41: r144:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r164:DI]:unspec[zero:SI] 68}
insn_cost 4 for 42: r143:VNx2DF=float_extend(r144:VNx2SF)
REG_DEAD r144:VNx2SF
insn_cost 4 for 43: {r142:VNx2DF={-r143:VNx2DF*r148:VNx2DF+r145:VNx2DF};clobber r169:DI;}
REG_DEAD r148:VNx2DF
REG_DEAD r145:VNx2DF
REG_UNUSED r169:DI
insn_cost 4 for 44: [r141:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r142:VNx2DF:[r141:DI]}
REG_DEAD r142:VNx2DF
insn_cost 0 for 45: debug begin stmt marker
insn_cost 4 for 46: r140:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r160:DI]:unspec[zero:SI] 68}
insn_cost 4 for 47: {r139:VNx2DF={-r143:VNx2DF*r150:VNx2DF+r140:VNx2DF};clobber r170:DI;}
REG_DEAD r143:VNx2DF
REG_DEAD r140:VNx2DF
REG_UNUSED r170:DI
insn_cost 4 for 48: [r138:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r139:VNx2DF:[r138:DI]}
REG_DEAD r139:VNx2DF
insn_cost 0 for 49: debug begin stmt marker
insn_cost 4 for 50: r137:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r161:DI]:unspec[zero:SI] 68}
insn_cost 4 for 51: r136:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r165:DI]:unspec[zero:SI] 68}
REG_DEAD zero:SI
insn_cost 4 for 52: r171:VNx2DF=float_extend(r136:VNx2SF)
REG_DEAD r136:VNx2SF
insn_cost 4 for 53: {r134:VNx2DF={-r171:VNx2DF*r150:VNx2DF+r137:VNx2DF};clobber r172:DI;}
REG_DEAD r171:VNx2DF
REG_DEAD r150:VNx2DF
REG_DEAD r137:VNx2DF
REG_UNUSED r172:DI
insn_cost 4 for 54: [r155:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r134:VNx2DF:[r155:DI]}
REG_DEAD r134:VNx2DF
REG_DEAD vtype:SI
REG_DEAD vl:SI
insn_cost 0 for 55: debug begin stmt marker
insn_cost 0 for 56: debug i => optimized away
insn_cost 0 for 57: debug begin stmt marker
insn_cost 4 for 58: r158:DI=r158:DI+r154:DI
insn_cost 4 for 59: r162:DI=r162:DI+r152:DI
insn_cost 4 for 60: r163:DI=r163:DI+r152:DI
insn_cost 4 for 61: r146:DI=r146:DI+r154:DI
insn_cost 4 for 62: r159:DI=r159:DI+r154:DI
insn_cost 4 for 63: r164:DI=r164:DI+r152:DI
insn_cost 4 for 64: r141:DI=r141:DI+r154:DI
insn_cost 4 for 65: r160:DI=r160:DI+r154:DI
insn_cost 4 for 66: r138:DI=r138:DI+r154:DI
insn_cost 4 for 67: r161:DI=r161:DI+r154:DI
insn_cost 4 for 68: r165:DI=r165:DI+r152:DI
REG_DEAD r152:DI
insn_cost 4 for 69: r155:DI=r155:DI+r154:DI
REG_DEAD r154:DI
insn_cost 4 for 70: r156:DI=r156:DI-r157:DI
REG_DEAD r157:DI
insn_cost 4 for 72: pc={(r156:DI!=0)?L71:pc}
REG_BR_PROB 894784862
Trying 10 -> 24:
10: r166:DI=sign_extend([arg:DI])
REG_EQUIV sign_extend([arg:DI])
24: pc={(r166:DI<=0)?L76:pc}
REG_BR_PROB 118111604
Failed to match this instruction:
(parallel [
(set (pc)
(if_then_else (le (subreg:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128]) 0)
(const_int 0 [0]))
(label_ref:DI 76)
(pc)))
(set (reg/v:DI 166 [ n ])
(sign_extend:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128])))
])
Failed to match this instruction:
(parallel [
(set (pc)
(if_then_else (le (subreg:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128]) 0)
(const_int 0 [0]))
(label_ref:DI 76)
(pc)))
(set (reg/v:DI 166 [ n ])
(sign_extend:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128])))
])
Successfully matched this instruction:
(set (reg/v:DI 166 [ n ])
(sign_extend:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128])))
Failed to match this instruction:
(set (pc)
(if_then_else (le (subreg:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128]) 0)
(const_int 0 [0]))
(label_ref:DI 76)
(pc)))
Trying 10 -> 24:
10: r166:DI=sign_extend([arg:DI])
REG_EQUIV sign_extend([arg:DI])
24: pc={(r166:DI<=0)?L76:pc}
REG_BR_PROB 118111604
Failed to match this instruction:
(parallel [
(set (pc)
(if_then_else (le (subreg:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128]) 0)
(const_int 0 [0]))
(label_ref:DI 76)
(pc)))
(set (reg/v:DI 166 [ n ])
(sign_extend:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128])))
])
Failed to match this instruction:
(parallel [
(set (pc)
(if_then_else (le (subreg:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128]) 0)
(const_int 0 [0]))
(label_ref:DI 76)
(pc)))
(set (reg/v:DI 166 [ n ])
(sign_extend:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128])))
])
Successfully matched this instruction:
(set (reg/v:DI 166 [ n ])
(sign_extend:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128])))
Failed to match this instruction:
(set (pc)
(if_then_else (le (subreg:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128]) 0)
(const_int 0 [0]))
(label_ref:DI 76)
(pc)))
Trying 28 -> 30:
28: r157:DI=unspec[r156:DI,0x8,0x5,0,0] 67
30: r154:DI=r157:DI<<0x3
Failed to match this instruction:
(parallel [
(set (reg:DI 154 [ ivtmp_105 ])
(ashift:DI (unspec:DI [
(reg:DI 156 [ ivtmp_115 ])
(const_int 8 [0x8])
(const_int 5 [0x5])
(const_int 0 [0]) repeated x2
] UNSPEC_VSETVL)
(const_int 3 [0x3])))
(set (reg:DI 157 [ _117 ])
(unspec:DI [
(reg:DI 156 [ ivtmp_115 ])
(const_int 8 [0x8])
(const_int 5 [0x5])
(const_int 0 [0]) repeated x2
] UNSPEC_VSETVL))
])
Failed to match this instruction:
(parallel [
(set (reg:DI 154 [ ivtmp_105 ])
(ashift:DI (unspec:DI [
(reg:DI 156 [ ivtmp_115 ])
(const_int 8 [0x8])
(const_int 5 [0x5])
(const_int 0 [0]) repeated x2
] UNSPEC_VSETVL)
(const_int 3 [0x3])))
(set (reg:DI 157 [ _117 ])
(unspec:DI [
(reg:DI 156 [ ivtmp_115 ])
(const_int 8 [0x8])
(const_int 5 [0x5])
(const_int 0 [0]) repeated x2
] UNSPEC_VSETVL))
])
Successfully matched this instruction:
(set (reg:DI 157 [ _117 ])
(unspec:DI [
(reg:DI 156 [ ivtmp_115 ])
(const_int 8 [0x8])
(const_int 5 [0x5])
(const_int 0 [0]) repeated x2
] UNSPEC_VSETVL))
Failed to match this instruction:
(set (reg:DI 154 [ ivtmp_105 ])
(ashift:DI (unspec:DI [
(reg:DI 156 [ ivtmp_115 ])
(const_int 8 [0x8])
(const_int 5 [0x5])
(const_int 0 [0]) repeated x2
] UNSPEC_VSETVL)
(const_int 3 [0x3])))
Trying 33 -> 34:
33: r151:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r162:DI]:unspec[zero:SI] 68}
34: r150:VNx2DF=float_extend(r151:VNx2SF)
REG_DEAD r151:VNx2SF
Failed to match this instruction:
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 162 [ a ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a.9_100]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 35 -> 36:
35: r149:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r163:DI]:unspec[zero:SI] 68}
36: r148:VNx2DF=float_extend(r149:VNx2SF)
REG_DEAD r149:VNx2SF
Failed to match this instruction:
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 163 [ b ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b.13_95]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 31 -> 37:
31: r153:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r158:DI]:unspec[zero:SI] 68}
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(clobber (reg:DI 168))
])
Failed to match this instruction:
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 34 -> 37:
34: r150:VNx2DF=float_extend(r151:VNx2SF)
REG_DEAD r151:VNx2SF
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(reg:VNx2DF 153 [ vect__4.8 ])))
(clobber (reg:DI 168))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(reg:VNx2DF 153 [ vect__4.8 ])))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
Failed to match this instruction:
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(reg:VNx2DF 153 [ vect__4.8 ])))
Trying 36 -> 37:
36: r148:VNx2DF=float_extend(r149:VNx2SF)
REG_DEAD r149:VNx2SF
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ])))
(clobber (reg:DI 168))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ])))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
Failed to match this instruction:
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ])))
Trying 33, 34 -> 37:
33: r151:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r162:DI]:unspec[zero:SI] 68}
34: r150:VNx2DF=float_extend(r151:VNx2SF)
REG_DEAD r151:VNx2SF
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 162 [ a ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a.9_100]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
(reg:VNx2DF 153 [ vect__4.8 ])))
(clobber (reg:DI 168))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 162 [ a ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a.9_100]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 162 [ a ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a.9_100]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
(reg:VNx2DF 153 [ vect__4.8 ])))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 162 [ a ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a.9_100]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
])
Failed to match this instruction:
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 162 [ a ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a.9_100]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 35, 36 -> 37:
35: r149:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r163:DI]:unspec[zero:SI] 68}
36: r148:VNx2DF=float_extend(r149:VNx2SF)
REG_DEAD r149:VNx2SF
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 163 [ b ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b.13_95]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ])))
(clobber (reg:DI 168))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 163 [ b ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b.13_95]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 163 [ b ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b.13_95]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ])))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 163 [ b ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b.13_95]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
])
Failed to match this instruction:
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 163 [ b ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b.13_95]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 34, 31 -> 37:
34: r150:VNx2DF=float_extend(r151:VNx2SF)
REG_DEAD r151:VNx2SF
31: r153:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r158:DI]:unspec[zero:SI] 68}
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(clobber (reg:DI 168))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
Failed to match this instruction:
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 36, 31 -> 37:
36: r148:VNx2DF=float_extend(r149:VNx2SF)
REG_DEAD r149:VNx2SF
31: r153:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r158:DI]:unspec[zero:SI] 68}
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(clobber (reg:DI 168))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
Failed to match this instruction:
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 36, 34 -> 37:
36: r148:VNx2DF=float_extend(r149:VNx2SF)
REG_DEAD r149:VNx2SF
34: r150:VNx2DF=float_extend(r151:VNx2SF)
REG_DEAD r151:VNx2SF
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(reg:VNx2DF 153 [ vect__4.8 ])))
(clobber (reg:DI 168))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(reg:VNx2DF 153 [ vect__4.8 ])))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
])
Trying 37 -> 38:
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
38: [r146:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r147:VNx2DF:[r146:DI]}
REG_DEAD r147:VNx2DF
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ]))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
Trying 31, 37 -> 38:
31: r153:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r158:DI]:unspec[zero:SI] 68}
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
38: [r146:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r147:VNx2DF:[r146:DI]}
REG_DEAD r147:VNx2DF
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
Successfully matched this instruction:
(set (reg:VNx2DF 147 [ vect__13.18 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 147 [ vect__13.18 ]))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
Trying 34, 37 -> 38:
34: r150:VNx2DF=float_extend(r151:VNx2SF)
REG_DEAD r151:VNx2SF
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
38: [r146:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r147:VNx2DF:[r146:DI]}
REG_DEAD r147:VNx2DF
Failed to match this instruction:
(parallel [
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(reg:VNx2DF 153 [ vect__4.8 ]))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
])
Failed to match this instruction:
(parallel [
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(reg:VNx2DF 153 [ vect__4.8 ]))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ])))
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))
(reg:VNx2DF 153 [ vect__4.8 ]))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
Trying 36, 37 -> 38:
36: r148:VNx2DF=float_extend(r149:VNx2SF)
REG_DEAD r149:VNx2SF
37: {r147:VNx2DF={-r148:VNx2DF*r150:VNx2DF+r153:VNx2DF};clobber r168:DI;}
REG_DEAD r153:VNx2DF
REG_UNUSED r168:DI
38: [r146:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r147:VNx2DF:[r146:DI]}
REG_DEAD r147:VNx2DF
Failed to match this instruction:
(parallel [
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ]))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
])
Failed to match this instruction:
(parallel [
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ]))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ]))
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])))
Trying 41 -> 42:
41: r144:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r164:DI]:unspec[zero:SI] 68}
42: r143:VNx2DF=float_extend(r144:VNx2SF)
REG_DEAD r144:VNx2SF
Failed to match this instruction:
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 164 [ a2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a2.24_80]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 40 -> 43:
40: r145:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r159:DI]:unspec[zero:SI] 68}
43: {r142:VNx2DF={-r143:VNx2DF*r148:VNx2DF+r145:VNx2DF};clobber r169:DI;}
REG_DEAD r148:VNx2DF
REG_DEAD r145:VNx2DF
REG_UNUSED r169:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 148 [ vect__11.16 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 159 [ dst2 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.21_84]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(clobber (reg:DI 169))
])
Failed to match this instruction:
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 148 [ vect__11.16 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 159 [ dst2 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.21_84]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 42 -> 43:
42: r143:VNx2DF=float_extend(r144:VNx2SF)
REG_DEAD r144:VNx2SF
43: {r142:VNx2DF={-r143:VNx2DF*r148:VNx2DF+r145:VNx2DF};clobber r169:DI;}
REG_DEAD r148:VNx2DF
REG_DEAD r145:VNx2DF
REG_UNUSED r169:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ])))
(clobber (reg:DI 169))
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ])))
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
Failed to match this instruction:
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ])))
Trying 41, 42 -> 43:
41: r144:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r164:DI]:unspec[zero:SI] 68}
42: r143:VNx2DF=float_extend(r144:VNx2SF)
REG_DEAD r144:VNx2SF
43: {r142:VNx2DF={-r143:VNx2DF*r148:VNx2DF+r145:VNx2DF};clobber r169:DI;}
REG_DEAD r148:VNx2DF
REG_DEAD r145:VNx2DF
REG_UNUSED r169:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 164 [ a2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a2.24_80]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ])))
(clobber (reg:DI 169))
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 164 [ a2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a2.24_80]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 164 [ a2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a2.24_80]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ])))
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 164 [ a2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a2.24_80]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
])
Failed to match this instruction:
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 164 [ a2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a2.24_80]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 42, 40 -> 43:
42: r143:VNx2DF=float_extend(r144:VNx2SF)
REG_DEAD r144:VNx2SF
40: r145:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r159:DI]:unspec[zero:SI] 68}
43: {r142:VNx2DF={-r143:VNx2DF*r148:VNx2DF+r145:VNx2DF};clobber r169:DI;}
REG_DEAD r148:VNx2DF
REG_DEAD r145:VNx2DF
REG_UNUSED r169:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 159 [ dst2 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.21_84]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(clobber (reg:DI 169))
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
])
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 159 [ dst2 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.21_84]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
Failed to match this instruction:
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 159 [ dst2 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.21_84]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 43 -> 44:
43: {r142:VNx2DF={-r143:VNx2DF*r148:VNx2DF+r145:VNx2DF};clobber r169:DI;}
REG_DEAD r148:VNx2DF
REG_DEAD r145:VNx2DF
REG_UNUSED r169:DI
44: [r141:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r142:VNx2DF:[r141:DI]}
REG_DEAD r142:VNx2DF
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ]))
(mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])))
Trying 40, 43 -> 44:
40: r145:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r159:DI]:unspec[zero:SI] 68}
43: {r142:VNx2DF={-r143:VNx2DF*r148:VNx2DF+r145:VNx2DF};clobber r169:DI;}
REG_DEAD r148:VNx2DF
REG_DEAD r145:VNx2DF
REG_UNUSED r169:DI
44: [r141:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r142:VNx2DF:[r141:DI]}
REG_DEAD r142:VNx2DF
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 148 [ vect__11.16 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 159 [ dst2 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.21_84]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
(mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])))
Successfully matched this instruction:
(set (reg:VNx2DF 142 [ vect__20.29 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 159 [ dst2 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.21_84]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 142 [ vect__20.29 ]))
(mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])))
Trying 42, 43 -> 44:
42: r143:VNx2DF=float_extend(r144:VNx2SF)
REG_DEAD r144:VNx2SF
43: {r142:VNx2DF={-r143:VNx2DF*r148:VNx2DF+r145:VNx2DF};clobber r169:DI;}
REG_DEAD r148:VNx2DF
REG_DEAD r145:VNx2DF
REG_UNUSED r169:DI
44: [r141:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r142:VNx2DF:[r141:DI]}
REG_DEAD r142:VNx2DF
Failed to match this instruction:
(parallel [
(set (mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ]))
(mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])))
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
])
Failed to match this instruction:
(parallel [
(set (mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ]))
(mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])))
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
])
Successfully matched this instruction:
(set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ])))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ]))
(mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])))
Trying 46 -> 47:
46: r140:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r160:DI]:unspec[zero:SI] 68}
47: {r139:VNx2DF={-r143:VNx2DF*r150:VNx2DF+r140:VNx2DF};clobber r170:DI;}
REG_DEAD r143:VNx2DF
REG_DEAD r140:VNx2DF
REG_UNUSED r170:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 139 [ vect__24.36 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 160 [ dst3 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.32_69]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(clobber (reg:DI 170))
])
Failed to match this instruction:
(set (reg:VNx2DF 139 [ vect__24.36 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 160 [ dst3 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.32_69]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 47 -> 48:
47: {r139:VNx2DF={-r143:VNx2DF*r150:VNx2DF+r140:VNx2DF};clobber r170:DI;}
REG_DEAD r143:VNx2DF
REG_DEAD r140:VNx2DF
REG_UNUSED r170:DI
48: [r138:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r139:VNx2DF:[r138:DI]}
REG_DEAD r139:VNx2DF
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 138 [ vectp_dst3.37 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.37_63]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 140 [ vect__22.34 ]))
(mem:VNx2DF (reg/f:DI 138 [ vectp_dst3.37 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.37_63]+0 S[16, 16] A64])))
Trying 46, 47 -> 48:
46: r140:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r160:DI]:unspec[zero:SI] 68}
47: {r139:VNx2DF={-r143:VNx2DF*r150:VNx2DF+r140:VNx2DF};clobber r170:DI;}
REG_DEAD r143:VNx2DF
REG_DEAD r140:VNx2DF
REG_UNUSED r170:DI
48: [r138:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r139:VNx2DF:[r138:DI]}
REG_DEAD r139:VNx2DF
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 138 [ vectp_dst3.37 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.37_63]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 160 [ dst3 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.32_69]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
(mem:VNx2DF (reg/f:DI 138 [ vectp_dst3.37 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.37_63]+0 S[16, 16] A64])))
Successfully matched this instruction:
(set (reg:VNx2DF 139 [ vect__24.36 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 160 [ dst3 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.32_69]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 138 [ vectp_dst3.37 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.37_63]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 139 [ vect__24.36 ]))
(mem:VNx2DF (reg/f:DI 138 [ vectp_dst3.37 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.37_63]+0 S[16, 16] A64])))
Trying 51 -> 52:
51: r136:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r165:DI]:unspec[zero:SI] 68}
REG_DEAD zero:SI
52: r171:VNx2DF=float_extend(r136:VNx2SF)
REG_DEAD r136:VNx2SF
Failed to match this instruction:
(set (reg:VNx2DF 171 [ vect__29.45 ])
(float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 165 [ b2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b2.42_55]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 50 -> 53:
50: r137:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r161:DI]:unspec[zero:SI] 68}
53: {r134:VNx2DF={-r171:VNx2DF*r150:VNx2DF+r137:VNx2DF};clobber r172:DI;}
REG_DEAD r171:VNx2DF
REG_DEAD r150:VNx2DF
REG_DEAD r137:VNx2DF
REG_UNUSED r172:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 171 [ vect__29.45 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 161 [ dst4 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.39_59]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(clobber (reg:DI 172))
])
Failed to match this instruction:
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 171 [ vect__29.45 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 161 [ dst4 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.39_59]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Trying 52 -> 53:
52: r171:VNx2DF=float_extend(r136:VNx2SF)
REG_DEAD r136:VNx2SF
53: {r134:VNx2DF={-r171:VNx2DF*r150:VNx2DF+r137:VNx2DF};clobber r172:DI;}
REG_DEAD r171:VNx2DF
REG_DEAD r150:VNx2DF
REG_DEAD r137:VNx2DF
REG_UNUSED r172:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 136 [ vect__28.44 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ])))
(clobber (reg:DI 172))
])
Failed to match this instruction:
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 136 [ vect__28.44 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ])))
Trying 51, 52 -> 53:
51: r136:VNx2SF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r165:DI]:unspec[zero:SI] 68}
REG_DEAD zero:SI
52: r171:VNx2DF=float_extend(r136:VNx2SF)
REG_DEAD r136:VNx2SF
53: {r134:VNx2DF={-r171:VNx2DF*r150:VNx2DF+r137:VNx2DF};clobber r172:DI;}
REG_DEAD r171:VNx2DF
REG_DEAD r150:VNx2DF
REG_DEAD r137:VNx2DF
REG_UNUSED r172:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 165 [ b2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b2.42_55]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ])))
(clobber (reg:DI 172))
])
Failed to match this instruction:
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 165 [ b2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b2.42_55]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ])))
Successfully matched this instruction:
(set (reg:VNx2SF 171 [ vect__29.45 ])
(if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 165 [ b2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b2.42_55]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
Failed to match this instruction:
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 171 [ vect__29.45 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ])))
Trying 52, 50 -> 53:
52: r171:VNx2DF=float_extend(r136:VNx2SF)
REG_DEAD r136:VNx2SF
50: r137:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r161:DI]:unspec[zero:SI] 68}
53: {r134:VNx2DF={-r171:VNx2DF*r150:VNx2DF+r137:VNx2DF};clobber r172:DI;}
REG_DEAD r171:VNx2DF
REG_DEAD r150:VNx2DF
REG_DEAD r137:VNx2DF
REG_UNUSED r172:DI
Failed to match this instruction:
(parallel [
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 136 [ vect__28.44 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 161 [ dst4 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.39_59]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
(clobber (reg:DI 172))
])
Failed to match this instruction:
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 136 [ vect__28.44 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 161 [ dst4 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.39_59]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))))
Successfully matched this instruction:
(set (reg:VNx2DF 171 [ vect__29.45 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 161 [ dst4 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.39_59]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
Failed to match this instruction:
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 136 [ vect__28.44 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 171 [ vect__29.45 ])))
Trying 53 -> 54:
53: {r134:VNx2DF={-r171:VNx2DF*r150:VNx2DF+r137:VNx2DF};clobber r172:DI;}
REG_DEAD r171:VNx2DF
REG_DEAD r150:VNx2DF
REG_DEAD r137:VNx2DF
REG_UNUSED r172:DI
54: [r155:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r134:VNx2DF:[r155:DI]}
REG_DEAD r134:VNx2DF
REG_DEAD vtype:SI
REG_DEAD vl:SI
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 171 [ vect__29.45 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ]))
(mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])))
Trying 50, 53 -> 54:
50: r137:VNx2DF={(unspec[const_vector,r157:DI,0x2,0x2,0,vl:SI,vtype:SI] 69)?[r161:DI]:unspec[zero:SI] 68}
53: {r134:VNx2DF={-r171:VNx2DF*r150:VNx2DF+r137:VNx2DF};clobber r172:DI;}
REG_DEAD r171:VNx2DF
REG_DEAD r150:VNx2DF
REG_DEAD r137:VNx2DF
REG_UNUSED r172:DI
54: [r155:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r134:VNx2DF:[r155:DI]}
REG_DEAD r134:VNx2DF
REG_DEAD vtype:SI
REG_DEAD vl:SI
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 171 [ vect__29.45 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 161 [ dst4 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.39_59]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
(mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])))
Successfully matched this instruction:
(set (reg:VNx2DF 134 [ vect__31.47 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 161 [ dst4 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.39_59]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF)))
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 171 [ vect__29.45 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 134 [ vect__31.47 ]))
(mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])))
Trying 52, 53 -> 54:
52: r171:VNx2DF=float_extend(r136:VNx2SF)
REG_DEAD r136:VNx2SF
53: {r134:VNx2DF={-r171:VNx2DF*r150:VNx2DF+r137:VNx2DF};clobber r172:DI;}
REG_DEAD r171:VNx2DF
REG_DEAD r150:VNx2DF
REG_DEAD r137:VNx2DF
REG_UNUSED r172:DI
54: [r155:DI]={(unspec[const_vector,r157:DI,0,vl:SI,vtype:SI] 69)?r134:VNx2DF:[r155:DI]}
REG_DEAD r134:VNx2DF
REG_DEAD vtype:SI
REG_DEAD vl:SI
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 136 [ vect__28.44 ])))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ]))
(mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])))
Successfully matched this instruction:
(set (reg:VNx2DF 134 [ vect__31.47 ])
(float_extend:VNx2DF (reg:VNx2SF 136 [ vect__28.44 ])))
Failed to match this instruction:
(set (mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 134 [ vect__31.47 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ]))
(mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])))
Trying 30 -> 58:
30: r154:DI=r157:DI<<0x3
58: r158:DI=r158:DI+r154:DI
Failed to match this instruction:
(parallel [
(set (reg/v/f:DI 158 [ dst ])
(plus:DI (ashift:DI (reg:DI 157 [ _117 ])
(const_int 3 [0x3]))
(reg/v/f:DI 158 [ dst ])))
(set (reg:DI 154 [ ivtmp_105 ])
(ashift:DI (reg:DI 157 [ _117 ])
(const_int 3 [0x3])))
])
Failed to match this instruction:
(parallel [
(set (reg/v/f:DI 158 [ dst ])
(plus:DI (ashift:DI (reg:DI 157 [ _117 ])
(const_int 3 [0x3]))
(reg/v/f:DI 158 [ dst ])))
(set (reg:DI 154 [ ivtmp_105 ])
(ashift:DI (reg:DI 157 [ _117 ])
(const_int 3 [0x3])))
])
Successfully matched this instruction:
(set (reg:DI 154 [ ivtmp_105 ])
(ashift:DI (reg:DI 157 [ _117 ])
(const_int 3 [0x3])))
Failed to match this instruction:
(set (reg/v/f:DI 158 [ dst ])
(plus:DI (ashift:DI (reg:DI 157 [ _117 ])
(const_int 3 [0x3]))
(reg/v/f:DI 158 [ dst ])))
Trying 28, 30 -> 58:
28: r157:DI=unspec[r156:DI,0x8,0x5,0,0] 67
30: r154:DI=r157:DI<<0x3
58: r158:DI=r158:DI+r154:DI
Can't combine i1 into i3
Trying 32 -> 59:
32: r152:DI=r157:DI<<0x2
59: r162:DI=r162:DI+r152:DI
Failed to match this instruction:
(parallel [
(set (reg/v/f:DI 162 [ a ])
(plus:DI (ashift:DI (reg:DI 157 [ _117 ])
(const_int 2 [0x2]))
(reg/v/f:DI 162 [ a ])))
(set (reg:DI 152 [ ivtmp_101 ])
(ashift:DI (reg:DI 157 [ _117 ])
(const_int 2 [0x2])))
])
Failed to match this instruction:
(parallel [
(set (reg/v/f:DI 162 [ a ])
(plus:DI (ashift:DI (reg:DI 157 [ _117 ])
(const_int 2 [0x2]))
(reg/v/f:DI 162 [ a ])))
(set (reg:DI 152 [ ivtmp_101 ])
(ashift:DI (reg:DI 157 [ _117 ])
(const_int 2 [0x2])))
])
Successfully matched this instruction:
(set (reg:DI 152 [ ivtmp_101 ])
(ashift:DI (reg:DI 157 [ _117 ])
(const_int 2 [0x2])))
Failed to match this instruction:
(set (reg/v/f:DI 162 [ a ])
(plus:DI (ashift:DI (reg:DI 157 [ _117 ])
(const_int 2 [0x2]))
(reg/v/f:DI 162 [ a ])))
Trying 70 -> 72:
70: r156:DI=r156:DI-r157:DI
REG_DEAD r157:DI
72: pc={(r156:DI!=0)?L71:pc}
REG_BR_PROB 894784862
Failed to match this instruction:
(parallel [
(set (pc)
(if_then_else (ne (reg:DI 156 [ ivtmp_115 ])
(reg:DI 157 [ _117 ]))
(label_ref:DI 71)
(pc)))
(set (reg:DI 156 [ ivtmp_115 ])
(minus:DI (reg:DI 156 [ ivtmp_115 ])
(reg:DI 157 [ _117 ])))
])
Failed to match this instruction:
(parallel [
(set (pc)
(if_then_else (ne (reg:DI 156 [ ivtmp_115 ])
(reg:DI 157 [ _117 ]))
(label_ref:DI 71)
(pc)))
(set (reg:DI 156 [ ivtmp_115 ])
(minus:DI (reg:DI 156 [ ivtmp_115 ])
(reg:DI 157 [ _117 ])))
])
starting the processing of deferred insns
ending the processing of deferred insns
vwadd_TYPE1_float
Dataflow summary:
;; fully invalidated by EH 0 [zero] 3 [gp] 4 [tp] 5 [t0] 6 [t1] 7 [t2] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 28 [t3] 29 [t4] 30 [t5] 31 [t6] 32 [ft0] 33 [ft1] 34 [ft2] 35 [ft3] 36 [ft4] 37 [ft5] 38 [ft6] 39 [ft7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 60 [ft8] 61 [ft9] 62 [ft10] 63 [ft11] 66 [vl] 67 [vtype] 68 [vxrm] 69 [N/A] 70 [N/A] 71 [N/A] 72 [N/A] 73 [N/A] 74 [N/A] 75 [N/A] 76 [N/A] 77 [N/A] 78 [N/A] 79 [N/A] 80 [N/A] 81 [N/A] 82 [N/A] 83 [N/A] 84 [N/A] 85 [N/A] 86 [N/A] 87 [N/A] 88 [N/A] 89 [N/A] 90 [N/A] 91 [N/A] 92 [N/A] 93 [N/A] 94 [N/A] 95 [N/A] 96 [v0] 97 [v1] 98 [v2] 99 [v3] 100 [v4] 101 [v5] 102 [v6] 103 [v7] 104 [v8] 105 [v9] 106 [v10] 107 [v11] 108 [v12] 109 [v13] 110 [v14] 111 [v15] 112 [v16] 113 [v17] 114 [v18] 115 [v19] 116 [v20] 117 [v21] 118 [v22] 119 [v23] 120 [v24] 121 [v25] 122 [v26] 123 [v27] 124 [v28] 125 [v29] 126 [v30] 127 [v31]
;; hardware regs used 2 [sp] 64 [arg] 65 [frame]
;; regular block artificial uses 2 [sp] 8 [s0] 64 [arg] 65 [frame]
;; eh block artificial uses 2 [sp] 8 [s0] 64 [arg] 65 [frame]
;; entry block defs 1 [ra] 2 [sp] 8 [s0] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 42 [fa0] 43 [fa1] 44 [fa2] 45 [fa3] 46 [fa4] 47 [fa5] 48 [fa6] 49 [fa7] 64 [arg] 65 [frame]
;; exit block uses 1 [ra] 2 [sp] 8 [s0] 65 [frame]
;; regs ever live 0 [zero] 10 [a0] 11 [a1] 12 [a2] 13 [a3] 14 [a4] 15 [a5] 16 [a6] 17 [a7] 66 [vl] 67 [vtype]
;; ref usage r0={8u} r1={1d,1u} r2={1d,5u} r8={1d,5u} r10={1d,1u} r11={1d,1u} r12={1d,1u} r13={1d,1u} r14={1d,1u} r15={1d,1u} r16={1d,1u} r17={1d,1u} r42={1d} r43={1d} r44={1d} r45={1d} r46={1d} r47={1d} r48={1d} r49={1d} r64={1d,5u,1e} r65={1d,5u} r66={12u} r67={12u} r134={1d,1u} r136={1d,1u} r137={1d,1u} r138={2d,3u} r139={1d,1u} r140={1d,1u} r141={2d,3u} r142={1d,1u} r143={1d,2u} r144={1d,1u} r145={1d,1u} r146={2d,3u} r147={1d,1u} r148={1d,2u} r149={1d,1u} r150={1d,3u} r151={1d,1u} r152={1d,4u} r153={1d,1u} r154={1d,8u} r155={2d,3u} r156={2d,3u} r157={1d,15u} r158={2d,3u} r159={2d,3u} r160={2d,3u} r161={2d,3u} r162={2d,2u} r163={2d,2u} r164={2d,2u} r165={2d,2u} r166={1d,2u} r168={1d} r169={1d} r170={1d} r171={1d,1u} r172={1d} r173={1d,1u} r174={1d,1u} r175={1d,1u} r176={1d,1u} r177={1d,1u} r178={1d,1u} r179={1d,1u} r180={1d,1u}
;; total ref usage 233{79d,153u,1e} in 70{70 regular + 0 call} insns.
(note 16 0 85 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(insn 85 16 2 2 (set (reg:DI 173)
(reg:DI 10 a0 [ dst ])) "/app/example.cpp":17:1 -1
(expr_list:REG_DEAD (reg:DI 10 a0 [ dst ])
(nil)))
(insn 2 85 86 2 (set (reg/v/f:DI 158 [ dst ])
(reg:DI 173)) "/app/example.cpp":17:1 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg:DI 173)
(nil)))
(insn 86 2 3 2 (set (reg:DI 174)
(reg:DI 11 a1 [ dst2 ])) "/app/example.cpp":17:1 -1
(expr_list:REG_DEAD (reg:DI 11 a1 [ dst2 ])
(nil)))
(insn 3 86 87 2 (set (reg/v/f:DI 159 [ dst2 ])
(reg:DI 174)) "/app/example.cpp":17:1 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg:DI 174)
(nil)))
(insn 87 3 4 2 (set (reg:DI 175)
(reg:DI 12 a2 [ dst3 ])) "/app/example.cpp":17:1 -1
(expr_list:REG_DEAD (reg:DI 12 a2 [ dst3 ])
(nil)))
(insn 4 87 88 2 (set (reg/v/f:DI 160 [ dst3 ])
(reg:DI 175)) "/app/example.cpp":17:1 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg:DI 175)
(nil)))
(insn 88 4 5 2 (set (reg:DI 176)
(reg:DI 13 a3 [ dst4 ])) "/app/example.cpp":17:1 -1
(expr_list:REG_DEAD (reg:DI 13 a3 [ dst4 ])
(nil)))
(insn 5 88 89 2 (set (reg/v/f:DI 161 [ dst4 ])
(reg:DI 176)) "/app/example.cpp":17:1 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg:DI 176)
(nil)))
(insn 89 5 6 2 (set (reg:DI 177)
(reg:DI 14 a4 [ a ])) "/app/example.cpp":17:1 -1
(expr_list:REG_DEAD (reg:DI 14 a4 [ a ])
(nil)))
(insn 6 89 90 2 (set (reg/v/f:DI 162 [ a ])
(reg:DI 177)) "/app/example.cpp":17:1 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg:DI 177)
(nil)))
(insn 90 6 7 2 (set (reg:DI 178)
(reg:DI 15 a5 [ b ])) "/app/example.cpp":17:1 -1
(expr_list:REG_DEAD (reg:DI 15 a5 [ b ])
(nil)))
(insn 7 90 91 2 (set (reg/v/f:DI 163 [ b ])
(reg:DI 178)) "/app/example.cpp":17:1 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg:DI 178)
(nil)))
(insn 91 7 8 2 (set (reg:DI 179)
(reg:DI 16 a6 [ a2 ])) "/app/example.cpp":17:1 -1
(expr_list:REG_DEAD (reg:DI 16 a6 [ a2 ])
(nil)))
(insn 8 91 92 2 (set (reg/v/f:DI 164 [ a2 ])
(reg:DI 179)) "/app/example.cpp":17:1 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg:DI 179)
(nil)))
(insn 92 8 9 2 (set (reg:DI 180)
(reg:DI 17 a7 [ b2 ])) "/app/example.cpp":17:1 -1
(expr_list:REG_DEAD (reg:DI 17 a7 [ b2 ])
(nil)))
(insn 9 92 10 2 (set (reg/v/f:DI 165 [ b2 ])
(reg:DI 180)) "/app/example.cpp":17:1 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg:DI 180)
(nil)))
(insn 10 9 11 2 (set (reg/v:DI 166 [ n ])
(sign_extend:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128]))) "/app/example.cpp":17:1 -1
(expr_list:REG_EQUIV (sign_extend:DI (mem/c:SI (reg/f:DI 64 arg) [3 n+0 S4 A128]))
(nil)))
(note 11 10 18 2 NOTE_INSN_FUNCTION_BEG)
(debug_insn 18 11 19 2 (debug_marker) "/app/example.cpp":17:1 -1
(nil))
(debug_insn 19 18 20 2 (var_location:SI i (const_int 0 [0])) -1
(nil))
(debug_insn 20 19 24 2 (debug_marker) "/app/example.cpp":17:1 discrim 1 -1
(nil))
(jump_insn 24 20 25 2 (set (pc)
(if_then_else (le (reg/v:DI 166 [ n ])
(const_int 0 [0]))
(label_ref:DI 76)
(pc))) "/app/example.cpp":17:1 discrim 1 242 {*branchdi}
(int_list:REG_BR_PROB 118111604 (nil))
-> 76)
(note 25 24 26 3 [bb 3] NOTE_INSN_BASIC_BLOCK)
(insn 26 25 12 3 (set (reg:DI 156 [ ivtmp_115 ])
(reg/v:DI 166 [ n ])) 179 {*movdi_64bit}
(expr_list:REG_DEAD (reg/v:DI 166 [ n ])
(nil)))
(insn 12 26 13 3 (set (reg/f:DI 155 [ vectp_dst4.48 ])
(reg/v/f:DI 161 [ dst4 ])) "/app/example.cpp":17:1 discrim 1 179 {*movdi_64bit}
(nil))
(insn 13 12 14 3 (set (reg/f:DI 138 [ vectp_dst3.37 ])
(reg/v/f:DI 160 [ dst3 ])) "/app/example.cpp":17:1 discrim 1 179 {*movdi_64bit}
(nil))
(insn 14 13 15 3 (set (reg/f:DI 141 [ vectp_dst2.30 ])
(reg/v/f:DI 159 [ dst2 ])) "/app/example.cpp":17:1 discrim 1 179 {*movdi_64bit}
(nil))
(insn 15 14 71 3 (set (reg/f:DI 146 [ vectp_dst.19 ])
(reg/v/f:DI 158 [ dst ])) "/app/example.cpp":17:1 discrim 1 179 {*movdi_64bit}
(nil))
(code_label 71 15 27 4 3 (nil) [1 uses])
(note 27 71 28 4 [bb 4] NOTE_INSN_BASIC_BLOCK)
(insn 28 27 29 4 (set (reg:DI 157 [ _117 ])
(unspec:DI [
(reg:DI 156 [ ivtmp_115 ])
(const_int 8 [0x8])
(const_int 5 [0x5])
(const_int 0 [0]) repeated x2
] UNSPEC_VSETVL)) 1116 {vsetvldi_no_side_effects}
(nil))
(debug_insn 29 28 30 4 (debug_marker) "/app/example.cpp":17:1 discrim 3 -1
(nil))
(insn 30 29 31 4 (set (reg:DI 154 [ ivtmp_105 ])
(ashift:DI (reg:DI 157 [ _117 ])
(const_int 3 [0x3]))) 198 {ashldi3}
(nil))
(insn 31 30 32 4 (set (reg:VNx2DF 153 [ vect__4.8 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 158 [ dst ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.6_104]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))) "/app/example.cpp":17:1 discrim 3 1157 {pred_movvnx2df}
(nil))
(insn 32 31 33 4 (set (reg:DI 152 [ ivtmp_101 ])
(ashift:DI (reg:DI 157 [ _117 ])
(const_int 2 [0x2]))) 198 {ashldi3}
(nil))
(insn 33 32 34 4 (set (reg:VNx2SF 151 [ vect__7.11 ])
(if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 162 [ a ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a.9_100]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))) "/app/example.cpp":17:1 discrim 3 1151 {pred_movvnx2sf}
(nil))
(insn 34 33 35 4 (set (reg:VNx2DF 150 [ vect__8.12 ])
(float_extend:VNx2DF (reg:VNx2SF 151 [ vect__7.11 ]))) "/app/example.cpp":17:1 discrim 3 12395 {extendvnx2sfvnx2df2}
(expr_list:REG_DEAD (reg:VNx2SF 151 [ vect__7.11 ])
(nil)))
(insn 35 34 36 4 (set (reg:VNx2SF 149 [ vect__10.15 ])
(if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 163 [ b ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b.13_95]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))) "/app/example.cpp":17:1 discrim 3 1151 {pred_movvnx2sf}
(nil))
(insn 36 35 37 4 (set (reg:VNx2DF 148 [ vect__11.16 ])
(float_extend:VNx2DF (reg:VNx2SF 149 [ vect__10.15 ]))) "/app/example.cpp":17:1 discrim 3 12395 {extendvnx2sfvnx2df2}
(expr_list:REG_DEAD (reg:VNx2SF 149 [ vect__10.15 ])
(nil)))
(insn 37 36 38 4 (parallel [
(set (reg:VNx2DF 147 [ vect__13.18 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 148 [ vect__11.16 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 153 [ vect__4.8 ])))
(clobber (reg:DI 168))
]) "/app/example.cpp":17:1 discrim 3 12582 {*fnmavnx2dfdi}
(expr_list:REG_DEAD (reg:VNx2DF 153 [ vect__4.8 ])
(expr_list:REG_UNUSED (reg:DI 168)
(nil))))
(insn 38 37 39 4 (set (mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(reg:VNx2DF 147 [ vect__13.18 ])
(mem:VNx2DF (reg/f:DI 146 [ vectp_dst.19 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst.19_88]+0 S[16, 16] A64]))) "/app/example.cpp":17:1 discrim 3 1201 {pred_storevnx2df}
(expr_list:REG_DEAD (reg:VNx2DF 147 [ vect__13.18 ])
(nil)))
(debug_insn 39 38 40 4 (debug_marker) "/app/example.cpp":17:1 discrim 3 -1
(nil))
(insn 40 39 41 4 (set (reg:VNx2DF 145 [ vect__15.23 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 159 [ dst2 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.21_84]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))) "/app/example.cpp":17:1 discrim 3 1157 {pred_movvnx2df}
(nil))
(insn 41 40 42 4 (set (reg:VNx2SF 144 [ vect__17.26 ])
(if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 164 [ a2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_a2.24_80]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))) "/app/example.cpp":17:1 discrim 3 1151 {pred_movvnx2sf}
(nil))
(insn 42 41 43 4 (set (reg:VNx2DF 143 [ vect__18.27 ])
(float_extend:VNx2DF (reg:VNx2SF 144 [ vect__17.26 ]))) "/app/example.cpp":17:1 discrim 3 12395 {extendvnx2sfvnx2df2}
(expr_list:REG_DEAD (reg:VNx2SF 144 [ vect__17.26 ])
(nil)))
(insn 43 42 44 4 (parallel [
(set (reg:VNx2DF 142 [ vect__20.29 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 148 [ vect__11.16 ])
(reg:VNx2DF 145 [ vect__15.23 ])))
(clobber (reg:DI 169))
]) "/app/example.cpp":17:1 discrim 3 12582 {*fnmavnx2dfdi}
(expr_list:REG_DEAD (reg:VNx2DF 148 [ vect__11.16 ])
(expr_list:REG_DEAD (reg:VNx2DF 145 [ vect__15.23 ])
(expr_list:REG_UNUSED (reg:DI 169)
(nil)))))
(insn 44 43 45 4 (set (mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(reg:VNx2DF 142 [ vect__20.29 ])
(mem:VNx2DF (reg/f:DI 141 [ vectp_dst2.30 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst2.30_73]+0 S[16, 16] A64]))) "/app/example.cpp":17:1 discrim 3 1201 {pred_storevnx2df}
(expr_list:REG_DEAD (reg:VNx2DF 142 [ vect__20.29 ])
(nil)))
(debug_insn 45 44 46 4 (debug_marker) "/app/example.cpp":17:1 discrim 3 -1
(nil))
(insn 46 45 47 4 (set (reg:VNx2DF 140 [ vect__22.34 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 160 [ dst3 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.32_69]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))) "/app/example.cpp":17:1 discrim 3 1157 {pred_movvnx2df}
(nil))
(insn 47 46 48 4 (parallel [
(set (reg:VNx2DF 139 [ vect__24.36 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 143 [ vect__18.27 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 140 [ vect__22.34 ])))
(clobber (reg:DI 170))
]) "/app/example.cpp":17:1 discrim 3 12582 {*fnmavnx2dfdi}
(expr_list:REG_DEAD (reg:VNx2DF 143 [ vect__18.27 ])
(expr_list:REG_DEAD (reg:VNx2DF 140 [ vect__22.34 ])
(expr_list:REG_UNUSED (reg:DI 170)
(nil)))))
(insn 48 47 49 4 (set (mem:VNx2DF (reg/f:DI 138 [ vectp_dst3.37 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.37_63]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(reg:VNx2DF 139 [ vect__24.36 ])
(mem:VNx2DF (reg/f:DI 138 [ vectp_dst3.37 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst3.37_63]+0 S[16, 16] A64]))) "/app/example.cpp":17:1 discrim 3 1201 {pred_storevnx2df}
(expr_list:REG_DEAD (reg:VNx2DF 139 [ vect__24.36 ])
(nil)))
(debug_insn 49 48 50 4 (debug_marker) "/app/example.cpp":17:1 discrim 3 -1
(nil))
(insn 50 49 51 4 (set (reg:VNx2DF 137 [ vect__26.41 ])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2DF (reg/v/f:DI 161 [ dst4 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.39_59]+0 S[16, 16] A64])
(unspec:VNx2DF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))) "/app/example.cpp":17:1 discrim 3 1157 {pred_movvnx2df}
(nil))
(insn 51 50 52 4 (set (reg:VNx2SF 136 [ vect__28.44 ])
(if_then_else:VNx2SF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 2 [0x2]) repeated x2
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(mem:VNx2SF (reg/v/f:DI 165 [ b2 ]) [2 MEM <vector([2,2]) float> [(float *)vectp_b2.42_55]+0 S[8, 8] A32])
(unspec:VNx2SF [
(reg:SI 0 zero)
] UNSPEC_VUNDEF))) "/app/example.cpp":17:1 discrim 3 1151 {pred_movvnx2sf}
(expr_list:REG_DEAD (reg:SI 0 zero)
(nil)))
(insn 52 51 53 4 (set (reg:VNx2DF 171 [ vect__29.45 ])
(float_extend:VNx2DF (reg:VNx2SF 136 [ vect__28.44 ]))) "/app/example.cpp":17:1 discrim 3 12395 {extendvnx2sfvnx2df2}
(expr_list:REG_DEAD (reg:VNx2SF 136 [ vect__28.44 ])
(nil)))
(insn 53 52 54 4 (parallel [
(set (reg:VNx2DF 134 [ vect__31.47 ])
(fma:VNx2DF (neg:VNx2DF (reg:VNx2DF 171 [ vect__29.45 ]))
(reg:VNx2DF 150 [ vect__8.12 ])
(reg:VNx2DF 137 [ vect__26.41 ])))
(clobber (reg:DI 172))
]) "/app/example.cpp":17:1 discrim 3 12582 {*fnmavnx2dfdi}
(expr_list:REG_DEAD (reg:VNx2DF 171 [ vect__29.45 ])
(expr_list:REG_DEAD (reg:VNx2DF 150 [ vect__8.12 ])
(expr_list:REG_DEAD (reg:VNx2DF 137 [ vect__26.41 ])
(expr_list:REG_UNUSED (reg:DI 172)
(nil))))))
(insn 54 53 55 4 (set (mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64])
(if_then_else:VNx2DF (unspec:VNx2BI [
(const_vector:VNx2BI repeat [
(const_int 1 [0x1])
])
(reg:DI 157 [ _117 ])
(const_int 0 [0])
(reg:SI 66 vl)
(reg:SI 67 vtype)
] UNSPEC_VPREDICATE)
(reg:VNx2DF 134 [ vect__31.47 ])
(mem:VNx2DF (reg/f:DI 155 [ vectp_dst4.48 ]) [1 MEM <vector([2,2]) double> [(double *)vectp_dst4.48_111]+0 S[16, 16] A64]))) "/app/example.cpp":17:1 discrim 3 1201 {pred_storevnx2df}
(expr_list:REG_DEAD (reg:VNx2DF 134 [ vect__31.47 ])
(expr_list:REG_DEAD (reg:SI 67 vtype)
(expr_list:REG_DEAD (reg:SI 66 vl)
(nil)))))
(debug_insn 55 54 56 4 (debug_marker) "/app/example.cpp":17:1 discrim 3 -1
(nil))
(debug_insn 56 55 57 4 (var_location:SI i (clobber (const_int 0 [0]))) -1
(nil))
(debug_insn 57 56 58 4 (debug_marker) "/app/example.cpp":17:1 discrim 1 -1
(nil))
(insn 58 57 59 4 (set (reg/v/f:DI 158 [ dst ])
(plus:DI (reg/v/f:DI 158 [ dst ])
(reg:DI 154 [ ivtmp_105 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 59 58 60 4 (set (reg/v/f:DI 162 [ a ])
(plus:DI (reg/v/f:DI 162 [ a ])
(reg:DI 152 [ ivtmp_101 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 60 59 61 4 (set (reg/v/f:DI 163 [ b ])
(plus:DI (reg/v/f:DI 163 [ b ])
(reg:DI 152 [ ivtmp_101 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 61 60 62 4 (set (reg/f:DI 146 [ vectp_dst.19 ])
(plus:DI (reg/f:DI 146 [ vectp_dst.19 ])
(reg:DI 154 [ ivtmp_105 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 62 61 63 4 (set (reg/v/f:DI 159 [ dst2 ])
(plus:DI (reg/v/f:DI 159 [ dst2 ])
(reg:DI 154 [ ivtmp_105 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 63 62 64 4 (set (reg/v/f:DI 164 [ a2 ])
(plus:DI (reg/v/f:DI 164 [ a2 ])
(reg:DI 152 [ ivtmp_101 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 64 63 65 4 (set (reg/f:DI 141 [ vectp_dst2.30 ])
(plus:DI (reg/f:DI 141 [ vectp_dst2.30 ])
(reg:DI 154 [ ivtmp_105 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 65 64 66 4 (set (reg/v/f:DI 160 [ dst3 ])
(plus:DI (reg/v/f:DI 160 [ dst3 ])
(reg:DI 154 [ ivtmp_105 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 66 65 67 4 (set (reg/f:DI 138 [ vectp_dst3.37 ])
(plus:DI (reg/f:DI 138 [ vectp_dst3.37 ])
(reg:DI 154 [ ivtmp_105 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 67 66 68 4 (set (reg/v/f:DI 161 [ dst4 ])
(plus:DI (reg/v/f:DI 161 [ dst4 ])
(reg:DI 154 [ ivtmp_105 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(nil))
(insn 68 67 69 4 (set (reg/v/f:DI 165 [ b2 ])
(plus:DI (reg/v/f:DI 165 [ b2 ])
(reg:DI 152 [ ivtmp_101 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(expr_list:REG_DEAD (reg:DI 152 [ ivtmp_101 ])
(nil)))
(insn 69 68 70 4 (set (reg/f:DI 155 [ vectp_dst4.48 ])
(plus:DI (reg/f:DI 155 [ vectp_dst4.48 ])
(reg:DI 154 [ ivtmp_105 ]))) "/app/example.cpp":17:1 discrim 1 5 {adddi3}
(expr_list:REG_DEAD (reg:DI 154 [ ivtmp_105 ])
(nil)))
(insn 70 69 72 4 (set (reg:DI 156 [ ivtmp_115 ])
(minus:DI (reg:DI 156 [ ivtmp_115 ])
(reg:DI 157 [ _117 ]))) "/app/example.cpp":17:1 discrim 1 11 {subdi3}
(expr_list:REG_DEAD (reg:DI 157 [ _117 ])
(nil)))
(jump_insn 72 70 76 4 (set (pc)
(if_then_else (ne (reg:DI 156 [ ivtmp_115 ])
(const_int 0 [0]))
(label_ref:DI 71)
(pc))) 242 {*branchdi}
(int_list:REG_BR_PROB 894784862 (nil))
-> 71)
(code_label 76 72 77 5 1 (nil) [1 uses])
(note 77 76 0 5 [bb 5] NOTE_INSN_BASIC_BLOCK)
;; Combiner totals: 40 attempts, 39 substitutions (19 requiring new space),
;; 0 successes.
next prev parent reply other threads:[~2023-06-28 22:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-28 11:55 Juzhe-Zhong
2023-06-28 18:16 ` Jeff Law
2023-06-28 22:10 ` 钟居哲
2023-06-28 22:43 ` Jeff Law
2023-06-28 22:56 ` 钟居哲 [this message]
2023-06-29 23:43 ` Jeff Law
2023-06-30 1:14 ` juzhe.zhong
2023-06-30 1:26 ` Jeff Law
2023-06-30 1:32 ` juzhe.zhong
2023-07-03 7:48 ` Robin Dapp
2023-07-03 9:01 ` Kito Cheng
2023-07-03 9:12 ` juzhe.zhong
2023-07-03 9:27 ` Lehua Ding
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AC4B7DA7E6E610C6+202306290656359649830@rivai.ai \
--to=juzhe.zhong@rivai.ai \
--cc=gcc-patches@gcc.gnu.org \
--cc=jeffreyalaw@gmail.com \
--cc=kito.cheng@gmail.com \
--cc=kito.cheng@sifive.com \
--cc=palmer@dabbelt.com \
--cc=palmer@rivosinc.com \
--cc=rdapp.gcc@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).