@@ -1801,4 +1801,63 @@ body: |
1801
1801
; CHECK-NEXT: %y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 0 /* e8 */
1802
1802
%x:vr = PseudoVMSET_M_B8 -1, 0
1803
1803
%y:vr = PseudoVMAND_MM_B16 $noreg, %x, 1, 0
1804
+ ...
1805
+ ---
1806
+ name : vrgatherei16_vv
1807
+ body : |
1808
+ bb.0:
1809
+ ; CHECK-LABEL: name: vrgatherei16_vv
1810
+ ; CHECK: early-clobber %x:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */
1811
+ ; CHECK-NEXT: %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */
1812
+ %x:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 0
1813
+ %y:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 1, 5 /* e32 */, 0
1814
+ ...
1815
+ ---
1816
+ name : vrgatherei16_vv_incompatible_data_eew
1817
+ body : |
1818
+ bb.0:
1819
+ ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_data_eew
1820
+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
1821
+ ; CHECK-NEXT: early-clobber %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */
1822
+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
1823
+ %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0
1824
+ ...
1804
1825
---
1826
+ name : vrgatherei16_vv_incompatible_index_eew
1827
+ body : |
1828
+ bb.0:
1829
+ ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_index_eew
1830
+ ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
1831
+ ; CHECK-NEXT: early-clobber %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, %x, 1, 5 /* e32 */, 0 /* tu, mu */
1832
+ %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
1833
+ %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, %x, 1, 5 /* e32 */, 0
1834
+ ...
1835
+ ---
1836
+ name : vrgatherei16_vv_incompatible_dest_emul
1837
+ body : |
1838
+ bb.0:
1839
+ ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_dest_emul
1840
+ ; CHECK: early-clobber %x:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 0 /* tu, mu */
1841
+ ; CHECK-NEXT: %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */
1842
+ %x:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 0
1843
+ %y:vr = PseudoVADD_VV_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0
1844
+ ...
1845
+ ---
1846
+ name : vrgatherei16_vv_incompatible_source_emul
1847
+ body : |
1848
+ bb.0:
1849
+ ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_source_emul
1850
+ ; CHECK: %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 0 /* tu, mu */
1851
+ ; CHECK-NEXT: early-clobber %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0 /* tu, mu */
1852
+ %x:vr = PseudoVADD_VV_MF2 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 0
1853
+ %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, %x, $noreg, 1, 5 /* e32 */, 0
1854
+ ...
1855
+ ---
1856
+ name : vrgatherei16_vv_incompatible_index_emul
1857
+ body : |
1858
+ bb.0:
1859
+ ; CHECK-LABEL: name: vrgatherei16_vv_incompatible_index_emul
1860
+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
1861
+ ; CHECK-NEXT: early-clobber %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, %x, 1, 5 /* e32 */, 0 /* tu, mu */
1862
+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
1863
+ %y:vr = PseudoVRGATHEREI16_VV_M1_E32_MF2 $noreg, $noreg, %x, 1, 5 /* e32 */, 0
0 commit comments