public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
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.

  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).