@@ -1553,55 +1553,50 @@ VFABD(fabd, fabd, 4, F, X, S, 128)
15531553VFABD(fabd, fabd, 2, D, X, D, 128)
15541554dnl
15551555define ( `VREPLICATE' , `
1556- instruct replicate$3$4$5 `' ( vec$6 dst , $7 ifelse ( $7 , immI0 , zero , $7 , immI , con , src ) )
1557- %{
1558- predicate ( UseSVE == 0 && ifelse ( $8 , `' ,
1559- n->as_Vector ( ) - >length ( ) == $3 ,
1560- ( n->as_Vector ( ) - >length ( ) == $3 ||`
1561- 'n->as_Vector ( ) - >length ( ) == $8 )) ) ;
1562- match ( Set dst ( Replicate`'ifelse ( $7 , immI0 , I , $4 ) ifelse ( $7 , immI0 , zero , $7 , immI , con , $7 , zero , I , src ) )) ;
1563- ins_cost ( INSN_COST ) ;
1564- format %{ "$1 $dst , $ifelse ( $7 , immI0 , zero , $7 , immI , con , src ) `\t# vector ( 'ifelse ( $4$7 , SimmI , $3 H , $2 , eor , 4I , $3$4 ) ` ) "' %}
1565- ins_encode %{
1566- __ $2 ( as_FloatRegister ( $dst$$reg ) , __ ifelse (
1567- $2 , eor , T16B , T$3 `'$9 ) ,ifelse (
1568- `$4 $7 ' , `B immI' , ` '$con$$constant & 0xff ,
1569- `$4 $7 ' , `S immI' , ` '$con$$constant & 0xffff ,
1570- `$4 $7 ' , `I immI' , ` '$con$$constant ,
1571- `$2 ' , eor ,`
1572- as_FloatRegister ( $dst$$reg ) ,
1573- as_FloatRegister ( $dst$$reg ) ' ,
1574- `$7 ' , vRegF ,`
1556+ instruct replicate$2$3$4 `' ( vec$5 dst , $6 ifelse ( $4 , _imm , con , src ) )
1557+ %{
1558+ predicate ( UseSVE == 0 && ifelse ( $7 , `' ,
1559+ n->as_Vector ( ) - >length ( ) == $2 ,
1560+ ( n->as_Vector ( ) - >length ( ) == $2 ||`
1561+ 'n->as_Vector ( ) - >length ( ) == $7 )) ) ;
1562+ match ( Set dst ( Replicate$3 ifelse ( $4 , _imm , con , src ) )) ;
1563+ ins_cost ( INSN_COST ) ;
1564+ format %{ "ifelse ( $1 , mov , movi , $1 ) $dst , $ifelse ( $4 , _imm , con , src ) `\t# vector ( 'ifelse ( $3$4 , S_imm , $2 H , $2$3 ) ` ) "' %}
1565+ ins_encode %{
1566+ __ $1 ( as_FloatRegister ( $dst$$reg ) , __ T$2$8 ,ifelse (
1567+ `$3 $4 ' , `B _imm' , ` '$con$$constant & 0xff ,
1568+ `$3 $4 ' , `S _imm' , ` '$con$$constant & 0xffff ,
1569+ `$3 $4 ' , `I _imm' , ` '$con$$constant ,
1570+ `$3 $4 ' , `L _imm' , ` '$con$$constant ,
1571+ `$6 ' , vRegF ,`
15751572 as_FloatRegister ( $src$$reg ) ' ,
1576- `$7 ' , vRegD ,`
1573+ `$6 ' , vRegD ,`
15771574 as_FloatRegister ( $src$$reg ) ' ,
15781575 ` 'as_Register ( $src$$reg )) ) ;
15791576 %}
1580- ins_pipe ( ifelse ( $7 , immI0 , v$1 _reg_imm ,
1581- $7 , immI , v$1 _reg_imm ,
1582- $7 , iRegIorL2I , v$1 _reg_reg ,
1583- $7 , zero , vmovi_reg_imm ,
1584- $7 , iRegL , vdup_reg_reg ,
1585- $4 , F , vdup_reg_freg , vdup_reg_dreg ) `'ifelse ( $6 , X , 128 , 64 )) ;
1586- %}' ) dnl
1587- dnl $1 $2 $3 $4 $5 $6 $7 $8 $9
1588- VREPLICATE(dup, dup, 8, B, , D, iRegIorL2I, 4, B)
1589- VREPLICATE(dup, dup, 16, B, , X, iRegIorL2I, , B)
1590- VREPLICATE(movi, mov, 8, B, _imm, D, immI, 4, B)
1591- VREPLICATE(movi, mov, 16, B, _imm, X, immI, , B)
1592- VREPLICATE(dup, dup, 4, S, , D, iRegIorL2I, 2, H)
1593- VREPLICATE(dup, dup, 8, S, , X, iRegIorL2I, , H)
1594- VREPLICATE(movi, mov, 4, S, _imm, D, immI, 2, H)
1595- VREPLICATE(movi, mov, 8, S, _imm, X, immI, , H)
1596- VREPLICATE(dup, dup, 2, I, , D, iRegIorL2I, , S)
1597- VREPLICATE(dup, dup, 4, I, , X, iRegIorL2I, , S)
1598- VREPLICATE(movi, mov, 2, I, _imm, D, immI, , S)
1599- VREPLICATE(movi, mov, 4, I, _imm, X, immI, , S)
1600- VREPLICATE(dup, dup, 2, L, , X, iRegL, , D)
1601- VREPLICATE(movi, eor, 2, L, _zero, X, immI0, , D)
1602- VREPLICATE(dup, dup, 2, F, , D, vRegF, , S)
1603- VREPLICATE(dup, dup, 4, F, , X, vRegF, , S)
1604- VREPLICATE(dup, dup, 2, D, , X, vRegD, , D)
1577+ ins_pipe ( ifelse ( $4 , _imm , vmovi_reg_imm ,
1578+ $6 , iRegIorL2I , v$1 _reg_reg ,
1579+ $6 , iRegL , vdup_reg_reg ,
1580+ $3 , F , vdup_reg_freg , vdup_reg_dreg ) `'ifelse ( $5 , X , 128 , 64 )) ;
1581+ %}' ) dnl
1582+ dnl $1 $2 $3 $4 $5 $6 $7 $8
1583+ VREPLICATE(dup, 8, B, , D, iRegIorL2I, 4, B)
1584+ VREPLICATE(dup, 16, B, , X, iRegIorL2I, , B)
1585+ VREPLICATE(mov, 8, B, _imm, D, immI, 4, B)
1586+ VREPLICATE(mov, 16, B, _imm, X, immI, , B)
1587+ VREPLICATE(dup, 4, S, , D, iRegIorL2I, 2, H)
1588+ VREPLICATE(dup, 8, S, , X, iRegIorL2I, , H)
1589+ VREPLICATE(mov, 4, S, _imm, D, immI, 2, H)
1590+ VREPLICATE(mov, 8, S, _imm, X, immI, , H)
1591+ VREPLICATE(dup, 2, I, , D, iRegIorL2I, , S)
1592+ VREPLICATE(dup, 4, I, , X, iRegIorL2I, , S)
1593+ VREPLICATE(mov, 2, I, _imm, D, immI, , S)
1594+ VREPLICATE(mov, 4, I, _imm, X, immI, , S)
1595+ VREPLICATE(dup, 2, L, , X, iRegL, , D)
1596+ VREPLICATE(mov, 2, L, _imm, X, immL, , D)
1597+ VREPLICATE(dup, 2, F, , D, vRegF, , S)
1598+ VREPLICATE(dup, 4, F, , X, vRegF, , S)
1599+ VREPLICATE(dup, 2, D, , X, vRegD, , D)
16051600dnl
16061601
16071602// ====================REDUCTION ARITHMETIC====================================
0 commit comments