@@ -1518,58 +1518,57 @@ arm_reinterpret!(vreinterpretq_u8_s8, int8x16_t, uint8x16_t);
1518
1518
#[ target_feature( enable = "neon" ) ]
1519
1519
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
1520
1520
#[ cfg_attr( test, assert_instr( ext) ) ]
1521
- pub unsafe fn vextq_s8 ( a : int8x16_t , b : int8x16_t , n : i32 ) -> int8x16_t {
1522
- if n < 0 || n > 16 {
1521
+ pub unsafe fn vextq_s8 ( a : int8x16_t , b : int8x16_t , n : u32 ) -> int8x16_t {
1522
+ if n > 16 {
1523
1523
unreachable_unchecked ( ) ;
1524
1524
} ;
1525
- match n {
1526
- 0 => b,
1527
- 1 => int8x16_t (
1525
+ match n & 0b1111 {
1526
+ 0 => int8x16_t (
1528
1527
a. 0 , b. 1 , b. 2 , b. 3 , b. 4 , b. 5 , b. 6 , b. 7 , b. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1529
1528
) ,
1530
- 2 => int8x16_t (
1529
+ 1 => int8x16_t (
1531
1530
a. 0 , a. 1 , b. 2 , b. 3 , b. 4 , b. 5 , b. 6 , b. 7 , b. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1532
1531
) ,
1533
- 3 => int8x16_t (
1532
+ 2 => int8x16_t (
1534
1533
a. 0 , a. 1 , a. 2 , b. 3 , b. 4 , b. 5 , b. 6 , b. 7 , b. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1535
1534
) ,
1536
- 4 => int8x16_t (
1535
+ 3 => int8x16_t (
1537
1536
a. 0 , a. 1 , a. 2 , a. 3 , b. 4 , b. 5 , b. 6 , b. 7 , b. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1538
1537
) ,
1539
- 5 => int8x16_t (
1538
+ 4 => int8x16_t (
1540
1539
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , b. 5 , b. 6 , b. 7 , b. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1541
1540
) ,
1542
- 6 => int8x16_t (
1541
+ 5 => int8x16_t (
1543
1542
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , b. 6 , b. 7 , b. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1544
1543
) ,
1545
- 7 => int8x16_t (
1544
+ 6 => int8x16_t (
1546
1545
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , b. 7 , b. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1547
1546
) ,
1548
- 8 => int8x16_t (
1547
+ 7 => int8x16_t (
1549
1548
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , a. 7 , b. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1550
1549
) ,
1551
- 9 => int8x16_t (
1550
+ 8 => int8x16_t (
1552
1551
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , a. 7 , a. 8 , b. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1553
1552
) ,
1554
- 10 => int8x16_t (
1553
+ 9 => int8x16_t (
1555
1554
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , a. 7 , a. 8 , a. 9 , b. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1556
1555
) ,
1557
- 11 => int8x16_t (
1556
+ 10 => int8x16_t (
1558
1557
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , a. 7 , a. 8 , a. 9 , a. 10 , b. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1559
1558
) ,
1560
- 12 => int8x16_t (
1559
+ 11 => int8x16_t (
1561
1560
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , a. 7 , a. 8 , a. 9 , a. 10 , a. 11 , b. 12 , b. 13 , b. 14 , b. 15 ,
1562
1561
) ,
1563
- 13 => int8x16_t (
1562
+ 12 => int8x16_t (
1564
1563
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , a. 7 , a. 8 , a. 9 , a. 10 , a. 11 , a. 12 , b. 13 , b. 14 , b. 15 ,
1565
1564
) ,
1566
- 14 => int8x16_t (
1565
+ 13 => int8x16_t (
1567
1566
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , a. 7 , a. 8 , a. 9 , a. 10 , a. 11 , a. 12 , a. 13 , b. 14 , b. 15 ,
1568
1567
) ,
1569
- 15 => int8x16_t (
1568
+ 14 => int8x16_t (
1570
1569
a. 0 , a. 1 , a. 2 , a. 3 , a. 4 , a. 5 , a. 6 , a. 7 , a. 8 , a. 9 , a. 10 , a. 11 , a. 12 , a. 13 , a. 14 , b. 15 ,
1571
1570
) ,
1572
- 16 => a,
1571
+ 15 => a,
1573
1572
_ => unreachable_unchecked ( ) ,
1574
1573
}
1575
1574
}
0 commit comments