@@ -1786,49 +1786,57 @@ void LiftoffAssembler::emit_i8x16_splat(LiftoffRegister dst,
1786
1786
void LiftoffAssembler::emit_f64x2_extract_lane (LiftoffRegister dst,
1787
1787
LiftoffRegister lhs,
1788
1788
uint8_t imm_lane_idx) {
1789
- bailout (kUnsupportedArchitecture , " emit_f64x2extractlane" );
1789
+ F64x2ExtractLane (dst.fp (), lhs.fp ().toSimd (), imm_lane_idx,
1790
+ kScratchSimd128Reg , r0);
1790
1791
}
1791
1792
1792
1793
void LiftoffAssembler::emit_f32x4_extract_lane (LiftoffRegister dst,
1793
1794
LiftoffRegister lhs,
1794
1795
uint8_t imm_lane_idx) {
1795
- bailout (kUnsupportedArchitecture , " emit_f32x4extractlane" );
1796
+ F32x4ExtractLane (dst.fp (), lhs.fp ().toSimd (), imm_lane_idx,
1797
+ kScratchSimd128Reg , r0, ip);
1796
1798
}
1797
1799
1798
1800
void LiftoffAssembler::emit_i64x2_extract_lane (LiftoffRegister dst,
1799
1801
LiftoffRegister lhs,
1800
1802
uint8_t imm_lane_idx) {
1801
- bailout (kUnsupportedArchitecture , " emit_i64x2extractlane" );
1803
+ I64x2ExtractLane (dst.gp (), lhs.fp ().toSimd (), imm_lane_idx,
1804
+ kScratchSimd128Reg );
1802
1805
}
1803
1806
1804
1807
void LiftoffAssembler::emit_i32x4_extract_lane (LiftoffRegister dst,
1805
1808
LiftoffRegister lhs,
1806
1809
uint8_t imm_lane_idx) {
1807
- bailout (kUnsupportedArchitecture , " emit_i32x4extractlane" );
1810
+ I32x4ExtractLane (dst.gp (), lhs.fp ().toSimd (), imm_lane_idx,
1811
+ kScratchSimd128Reg );
1808
1812
}
1809
1813
1810
1814
void LiftoffAssembler::emit_i16x8_extract_lane_u (LiftoffRegister dst,
1811
1815
LiftoffRegister lhs,
1812
1816
uint8_t imm_lane_idx) {
1813
- bailout (kUnsupportedArchitecture , " emit_i16x8extractlane_u" );
1817
+ I16x8ExtractLaneU (dst.gp (), lhs.fp ().toSimd (), imm_lane_idx,
1818
+ kScratchSimd128Reg );
1814
1819
}
1815
1820
1816
1821
void LiftoffAssembler::emit_i16x8_extract_lane_s (LiftoffRegister dst,
1817
1822
LiftoffRegister lhs,
1818
1823
uint8_t imm_lane_idx) {
1819
- bailout (kUnsupportedArchitecture , " emit_i16x8extractlane_s" );
1824
+ I16x8ExtractLaneS (dst.gp (), lhs.fp ().toSimd (), imm_lane_idx,
1825
+ kScratchSimd128Reg );
1820
1826
}
1821
1827
1822
1828
void LiftoffAssembler::emit_i8x16_extract_lane_u (LiftoffRegister dst,
1823
1829
LiftoffRegister lhs,
1824
1830
uint8_t imm_lane_idx) {
1825
- bailout (kUnsupportedArchitecture , " emit_i8x16extractlane_u" );
1831
+ I8x16ExtractLaneU (dst.gp (), lhs.fp ().toSimd (), imm_lane_idx,
1832
+ kScratchSimd128Reg );
1826
1833
}
1827
1834
1828
1835
void LiftoffAssembler::emit_i8x16_extract_lane_s (LiftoffRegister dst,
1829
1836
LiftoffRegister lhs,
1830
1837
uint8_t imm_lane_idx) {
1831
- bailout (kUnsupportedArchitecture , " emit_i8x16extractlane_s" );
1838
+ I8x16ExtractLaneS (dst.gp (), lhs.fp ().toSimd (), imm_lane_idx,
1839
+ kScratchSimd128Reg );
1832
1840
}
1833
1841
1834
1842
void LiftoffAssembler::emit_f64x2_replace_lane (LiftoffRegister dst,
0 commit comments