@@ -1469,8 +1469,9 @@ define <2 x half> @loaddup_str_v2half(ptr %p) {
1469
1469
; CHECK-GI-LABEL: loaddup_str_v2half:
1470
1470
; CHECK-GI: // %bb.0: // %entry
1471
1471
; CHECK-GI-NEXT: ldr h0, [x0]
1472
- ; CHECK-GI-NEXT: strh wzr, [x0]
1472
+ ; CHECK-GI-NEXT: movi d1, #0000000000000000
1473
1473
; CHECK-GI-NEXT: dup v0.4h, v0.h[0]
1474
+ ; CHECK-GI-NEXT: str h1, [x0]
1474
1475
; CHECK-GI-NEXT: ret
1475
1476
entry:
1476
1477
%a = load half , ptr %p
@@ -1526,8 +1527,9 @@ define <3 x half> @loaddup_str_v3half(ptr %p) {
1526
1527
; CHECK-GI-LABEL: loaddup_str_v3half:
1527
1528
; CHECK-GI: // %bb.0: // %entry
1528
1529
; CHECK-GI-NEXT: ldr h0, [x0]
1529
- ; CHECK-GI-NEXT: strh wzr, [x0]
1530
+ ; CHECK-GI-NEXT: movi d1, #0000000000000000
1530
1531
; CHECK-GI-NEXT: dup v0.4h, v0.h[0]
1532
+ ; CHECK-GI-NEXT: str h1, [x0]
1531
1533
; CHECK-GI-NEXT: ret
1532
1534
entry:
1533
1535
%a = load half , ptr %p
@@ -1583,8 +1585,9 @@ define <4 x half> @loaddup_str_v4half(ptr %p) {
1583
1585
; CHECK-GI-LABEL: loaddup_str_v4half:
1584
1586
; CHECK-GI: // %bb.0: // %entry
1585
1587
; CHECK-GI-NEXT: ldr h0, [x0]
1586
- ; CHECK-GI-NEXT: strh wzr, [x0]
1588
+ ; CHECK-GI-NEXT: movi d1, #0000000000000000
1587
1589
; CHECK-GI-NEXT: dup v0.4h, v0.h[0]
1590
+ ; CHECK-GI-NEXT: str h1, [x0]
1588
1591
; CHECK-GI-NEXT: ret
1589
1592
entry:
1590
1593
%a = load half , ptr %p
@@ -1639,8 +1642,9 @@ define <8 x half> @loaddup_str_v8half(ptr %p) {
1639
1642
; CHECK-GI-LABEL: loaddup_str_v8half:
1640
1643
; CHECK-GI: // %bb.0: // %entry
1641
1644
; CHECK-GI-NEXT: ldr h0, [x0]
1642
- ; CHECK-GI-NEXT: strh wzr, [x0]
1645
+ ; CHECK-GI-NEXT: movi d1, #0000000000000000
1643
1646
; CHECK-GI-NEXT: dup v0.8h, v0.h[0]
1647
+ ; CHECK-GI-NEXT: str h1, [x0]
1644
1648
; CHECK-GI-NEXT: ret
1645
1649
entry:
1646
1650
%a = load half , ptr %p
@@ -1713,9 +1717,10 @@ define <16 x half> @loaddup_str_v16half(ptr %p) {
1713
1717
; CHECK-GI-LABEL: loaddup_str_v16half:
1714
1718
; CHECK-GI: // %bb.0: // %entry
1715
1719
; CHECK-GI-NEXT: ldr h1, [x0]
1716
- ; CHECK-GI-NEXT: strh wzr, [x0]
1720
+ ; CHECK-GI-NEXT: movi d2, #0000000000000000
1717
1721
; CHECK-GI-NEXT: dup v0.8h, v1.h[0]
1718
1722
; CHECK-GI-NEXT: dup v1.8h, v1.h[0]
1723
+ ; CHECK-GI-NEXT: str h2, [x0]
1719
1724
; CHECK-GI-NEXT: ret
1720
1725
entry:
1721
1726
%a = load half , ptr %p
@@ -1771,8 +1776,9 @@ define <2 x bfloat> @loaddup_str_v2bfloat(ptr %p) {
1771
1776
; CHECK-GI-LABEL: loaddup_str_v2bfloat:
1772
1777
; CHECK-GI: // %bb.0: // %entry
1773
1778
; CHECK-GI-NEXT: ldr h0, [x0]
1774
- ; CHECK-GI-NEXT: strh wzr, [x0]
1779
+ ; CHECK-GI-NEXT: movi d1, #0000000000000000
1775
1780
; CHECK-GI-NEXT: dup v0.4h, v0.h[0]
1781
+ ; CHECK-GI-NEXT: str h1, [x0]
1776
1782
; CHECK-GI-NEXT: ret
1777
1783
entry:
1778
1784
%a = load bfloat, ptr %p
@@ -1828,8 +1834,9 @@ define <3 x bfloat> @loaddup_str_v3bfloat(ptr %p) {
1828
1834
; CHECK-GI-LABEL: loaddup_str_v3bfloat:
1829
1835
; CHECK-GI: // %bb.0: // %entry
1830
1836
; CHECK-GI-NEXT: ldr h0, [x0]
1831
- ; CHECK-GI-NEXT: strh wzr, [x0]
1837
+ ; CHECK-GI-NEXT: movi d1, #0000000000000000
1832
1838
; CHECK-GI-NEXT: dup v0.4h, v0.h[0]
1839
+ ; CHECK-GI-NEXT: str h1, [x0]
1833
1840
; CHECK-GI-NEXT: ret
1834
1841
entry:
1835
1842
%a = load bfloat, ptr %p
@@ -1885,8 +1892,9 @@ define <4 x bfloat> @loaddup_str_v4bfloat(ptr %p) {
1885
1892
; CHECK-GI-LABEL: loaddup_str_v4bfloat:
1886
1893
; CHECK-GI: // %bb.0: // %entry
1887
1894
; CHECK-GI-NEXT: ldr h0, [x0]
1888
- ; CHECK-GI-NEXT: strh wzr, [x0]
1895
+ ; CHECK-GI-NEXT: movi d1, #0000000000000000
1889
1896
; CHECK-GI-NEXT: dup v0.4h, v0.h[0]
1897
+ ; CHECK-GI-NEXT: str h1, [x0]
1890
1898
; CHECK-GI-NEXT: ret
1891
1899
entry:
1892
1900
%a = load bfloat, ptr %p
@@ -1941,8 +1949,9 @@ define <8 x bfloat> @loaddup_str_v8bfloat(ptr %p) {
1941
1949
; CHECK-GI-LABEL: loaddup_str_v8bfloat:
1942
1950
; CHECK-GI: // %bb.0: // %entry
1943
1951
; CHECK-GI-NEXT: ldr h0, [x0]
1944
- ; CHECK-GI-NEXT: strh wzr, [x0]
1952
+ ; CHECK-GI-NEXT: movi d1, #0000000000000000
1945
1953
; CHECK-GI-NEXT: dup v0.8h, v0.h[0]
1954
+ ; CHECK-GI-NEXT: str h1, [x0]
1946
1955
; CHECK-GI-NEXT: ret
1947
1956
entry:
1948
1957
%a = load bfloat, ptr %p
@@ -2015,9 +2024,10 @@ define <16 x bfloat> @loaddup_str_v16bfloat(ptr %p) {
2015
2024
; CHECK-GI-LABEL: loaddup_str_v16bfloat:
2016
2025
; CHECK-GI: // %bb.0: // %entry
2017
2026
; CHECK-GI-NEXT: ldr h1, [x0]
2018
- ; CHECK-GI-NEXT: strh wzr, [x0]
2027
+ ; CHECK-GI-NEXT: movi d2, #0000000000000000
2019
2028
; CHECK-GI-NEXT: dup v0.8h, v1.h[0]
2020
2029
; CHECK-GI-NEXT: dup v1.8h, v1.h[0]
2030
+ ; CHECK-GI-NEXT: str h2, [x0]
2021
2031
; CHECK-GI-NEXT: ret
2022
2032
entry:
2023
2033
%a = load bfloat, ptr %p
0 commit comments