|
4810 | 4810 | [(set_attr "type" "neon_sub_widen")]
|
4811 | 4811 | )
|
4812 | 4812 |
|
4813 |
| -(define_insn "aarch64_usubw<mode>_<PERM_EXTEND:perm_hilo>_zip" |
| 4813 | +(define_insn "aarch64_usubw<mode>_lo_zip" |
4814 | 4814 | [(set (match_operand:<VWIDE> 0 "register_operand" "=w")
|
4815 | 4815 | (minus:<VWIDE>
|
4816 | 4816 | (match_operand:<VWIDE> 1 "register_operand" "w")
|
4817 | 4817 | (subreg:<VWIDE>
|
4818 | 4818 | (unspec:<MODE> [
|
4819 | 4819 | (match_operand:VQW 2 "register_operand" "w")
|
4820 | 4820 | (match_operand:VQW 3 "aarch64_simd_imm_zero")
|
4821 |
| - ] PERM_EXTEND) 0)))] |
| 4821 | + ] UNSPEC_ZIP1) 0)))] |
4822 | 4822 | "TARGET_SIMD"
|
4823 |
| - "usubw<PERM_EXTEND:perm_index>\\t%0.<Vwtype>, %1.<Vwtype>, %2.<Vhalftype>" |
| 4823 | + "usubw\\t%0.<Vwtype>, %1.<Vwtype>, %2.<Vhalftype>" |
4824 | 4824 | [(set_attr "type" "neon_sub_widen")]
|
4825 | 4825 | )
|
4826 | 4826 |
|
4827 |
| -(define_insn "aarch64_uaddw<mode>_<PERM_EXTEND:perm_hilo>_zip" |
| 4827 | +(define_insn "aarch64_uaddw<mode>_lo_zip" |
4828 | 4828 | [(set (match_operand:<VWIDE> 0 "register_operand" "=w")
|
4829 | 4829 | (plus:<VWIDE>
|
4830 | 4830 | (subreg:<VWIDE>
|
4831 | 4831 | (unspec:<MODE> [
|
4832 | 4832 | (match_operand:VQW 2 "register_operand" "w")
|
4833 | 4833 | (match_operand:VQW 3 "aarch64_simd_imm_zero")
|
4834 |
| - ] PERM_EXTEND) 0) |
| 4834 | + ] UNSPEC_ZIP1) 0) |
4835 | 4835 | (match_operand:<VWIDE> 1 "register_operand" "w")))]
|
4836 | 4836 | "TARGET_SIMD"
|
4837 |
| - "uaddw<PERM_EXTEND:perm_index>\\t%0.<Vwtype>, %1.<Vwtype>, %2.<Vhalftype>" |
| 4837 | + "uaddw\\t%0.<Vwtype>, %1.<Vwtype>, %2.<Vhalftype>" |
| 4838 | + [(set_attr "type" "neon_add_widen")] |
| 4839 | +) |
| 4840 | + |
| 4841 | +(define_insn "aarch64_usubw<mode>_hi_zip" |
| 4842 | + [(set (match_operand:<VWIDE> 0 "register_operand" "=w") |
| 4843 | + (minus:<VWIDE> |
| 4844 | + (match_operand:<VWIDE> 1 "register_operand" "w") |
| 4845 | + (subreg:<VWIDE> |
| 4846 | + (unspec:<MODE> [ |
| 4847 | + (match_operand:VQW 2 "register_operand" "w") |
| 4848 | + (match_operand:VQW 3 "aarch64_simd_imm_zero") |
| 4849 | + ] UNSPEC_ZIP2) 0)))] |
| 4850 | + "TARGET_SIMD" |
| 4851 | + "usubw2\\t%0.<Vwtype>, %1.<Vwtype>, %2.<Vtype>" |
| 4852 | + [(set_attr "type" "neon_sub_widen")] |
| 4853 | +) |
| 4854 | + |
| 4855 | +(define_insn "aarch64_uaddw<mode>_hi_zip" |
| 4856 | + [(set (match_operand:<VWIDE> 0 "register_operand" "=w") |
| 4857 | + (plus:<VWIDE> |
| 4858 | + (subreg:<VWIDE> |
| 4859 | + (unspec:<MODE> [ |
| 4860 | + (match_operand:VQW 2 "register_operand" "w") |
| 4861 | + (match_operand:VQW 3 "aarch64_simd_imm_zero") |
| 4862 | + ] UNSPEC_ZIP2) 0) |
| 4863 | + (match_operand:<VWIDE> 1 "register_operand" "w")))] |
| 4864 | + "TARGET_SIMD" |
| 4865 | + "uaddw2\\t%0.<Vwtype>, %1.<Vwtype>, %2.<Vtype>" |
4838 | 4866 | [(set_attr "type" "neon_add_widen")]
|
4839 | 4867 | )
|
4840 | 4868 |
|
|
0 commit comments