Skip to content

Commit 1541a9b

Browse files
committed
[AggressiveInstCombine] Remove unnecessarily repeated tests. NFC.
1 parent ad75d16 commit 1541a9b

File tree

1 file changed

+0
-296
lines changed
  • llvm/test/Transforms/AggressiveInstCombine/X86

1 file changed

+0
-296
lines changed

llvm/test/Transforms/AggressiveInstCombine/X86/or-load.ll

Lines changed: 0 additions & 296 deletions
Original file line numberDiff line numberDiff line change
@@ -1802,302 +1802,6 @@ define i32 @loadCombine_4consecutive_mixsize2(ptr %p) {
18021802
ret i32 %o2
18031803
}
18041804

1805-
define i32 @loadCombine_4consecutive_mixsize3(ptr %p) {
1806-
; LE-LABEL: @loadCombine_4consecutive_mixsize3(
1807-
; LE-NEXT: [[L1:%.*]] = load i32, ptr [[P:%.*]], align 1
1808-
; LE-NEXT: ret i32 [[L1]]
1809-
;
1810-
; BE-LABEL: @loadCombine_4consecutive_mixsize3(
1811-
; BE-NEXT: [[P1:%.*]] = getelementptr i8, ptr [[P:%.*]], i32 1
1812-
; BE-NEXT: [[P2:%.*]] = getelementptr i8, ptr [[P]], i32 3
1813-
; BE-NEXT: [[L1:%.*]] = load i8, ptr [[P]], align 1
1814-
; BE-NEXT: [[L2:%.*]] = load i16, ptr [[P1]], align 2
1815-
; BE-NEXT: [[L3:%.*]] = load i8, ptr [[P2]], align 1
1816-
; BE-NEXT: [[E1:%.*]] = zext i8 [[L1]] to i32
1817-
; BE-NEXT: [[E2:%.*]] = zext i16 [[L2]] to i32
1818-
; BE-NEXT: [[E3:%.*]] = zext i8 [[L3]] to i32
1819-
; BE-NEXT: [[S2:%.*]] = shl i32 [[E2]], 8
1820-
; BE-NEXT: [[S3:%.*]] = shl i32 [[E3]], 24
1821-
; BE-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
1822-
; BE-NEXT: [[O2:%.*]] = or i32 [[O1]], [[S3]]
1823-
; BE-NEXT: ret i32 [[O2]]
1824-
;
1825-
%p1 = getelementptr i8, ptr %p, i32 1
1826-
%p2 = getelementptr i8, ptr %p, i32 3
1827-
%l1 = load i8, ptr %p
1828-
%l2 = load i16, ptr %p1
1829-
%l3 = load i8, ptr %p2
1830-
1831-
%e1 = zext i8 %l1 to i32
1832-
%e2 = zext i16 %l2 to i32
1833-
%e3 = zext i8 %l3 to i32
1834-
1835-
%s2 = shl i32 %e2, 8
1836-
%s3 = shl i32 %e3, 24
1837-
1838-
%o1 = or i32 %e1, %s2
1839-
%o2 = or i32 %o1, %s3
1840-
ret i32 %o2
1841-
}
1842-
1843-
define i16 @loadCombine_mixsize_4bit(ptr %p) {
1844-
; ALL-LABEL: @loadCombine_mixsize_4bit(
1845-
; ALL-NEXT: [[P1:%.*]] = getelementptr i4, ptr [[P:%.*]], i32 2
1846-
; ALL-NEXT: [[P2:%.*]] = getelementptr i4, ptr [[P]], i32 3
1847-
; ALL-NEXT: [[L1:%.*]] = load i8, ptr [[P]], align 1
1848-
; ALL-NEXT: [[L2:%.*]] = load i4, ptr [[P1]], align 1
1849-
; ALL-NEXT: [[L3:%.*]] = load i4, ptr [[P2]], align 1
1850-
; ALL-NEXT: [[E1:%.*]] = zext i8 [[L1]] to i16
1851-
; ALL-NEXT: [[E2:%.*]] = zext i4 [[L2]] to i16
1852-
; ALL-NEXT: [[E3:%.*]] = zext i4 [[L3]] to i16
1853-
; ALL-NEXT: [[S2:%.*]] = shl i16 [[E2]], 8
1854-
; ALL-NEXT: [[S3:%.*]] = shl i16 [[E3]], 12
1855-
; ALL-NEXT: [[O1:%.*]] = or i16 [[E1]], [[S2]]
1856-
; ALL-NEXT: [[O2:%.*]] = or i16 [[O1]], [[S3]]
1857-
; ALL-NEXT: ret i16 [[O2]]
1858-
;
1859-
%p1 = getelementptr i4, ptr %p, i32 2
1860-
%p2 = getelementptr i4, ptr %p, i32 3
1861-
%l1 = load i8, ptr %p
1862-
%l2 = load i4, ptr %p1
1863-
%l3 = load i4, ptr %p2
1864-
1865-
%e1 = zext i8 %l1 to i16
1866-
%e2 = zext i4 %l2 to i16
1867-
%e3 = zext i4 %l3 to i16
1868-
1869-
%s2 = shl i16 %e2, 8
1870-
%s3 = shl i16 %e3, 12
1871-
1872-
%o1 = or i16 %e1, %s2
1873-
%o2 = or i16 %o1, %s3
1874-
ret i16 %o2
1875-
}
1876-
1877-
define i32 @loadCombine_2consecutive_mixsize_not_equal_store_size(ptr %p) {
1878-
; ALL-LABEL: @loadCombine_2consecutive_mixsize_not_equal_store_size(
1879-
; ALL-NEXT: [[P1:%.*]] = getelementptr i4, ptr [[P:%.*]], i32 1
1880-
; ALL-NEXT: [[L1:%.*]] = load i4, ptr [[P]], align 1
1881-
; ALL-NEXT: [[L2:%.*]] = load i28, ptr [[P1]], align 4
1882-
; ALL-NEXT: [[E1:%.*]] = zext i4 [[L1]] to i32
1883-
; ALL-NEXT: [[E2:%.*]] = zext i28 [[L2]] to i32
1884-
; ALL-NEXT: [[S2:%.*]] = shl i32 [[E2]], 4
1885-
; ALL-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
1886-
; ALL-NEXT: ret i32 [[O1]]
1887-
;
1888-
%p1 = getelementptr i4, ptr %p, i32 1
1889-
%l1 = load i4, ptr %p
1890-
%l2 = load i28, ptr %p1
1891-
%e1 = zext i4 %l1 to i32
1892-
%e2 = zext i28 %l2 to i32
1893-
%s2 = shl i32 %e2, 4
1894-
%o1 = or i32 %e1, %s2
1895-
ret i32 %o1
1896-
}
1897-
1898-
define i32 @loadCombine_2consecutive_mixsize_not_equal_store_size2(ptr %p) {
1899-
; ALL-LABEL: @loadCombine_2consecutive_mixsize_not_equal_store_size2(
1900-
; ALL-NEXT: [[P1:%.*]] = getelementptr i4, ptr [[P:%.*]], i32 7
1901-
; ALL-NEXT: [[L1:%.*]] = load i28, ptr [[P]], align 4
1902-
; ALL-NEXT: [[L2:%.*]] = load i4, ptr [[P1]], align 1
1903-
; ALL-NEXT: [[E1:%.*]] = zext i28 [[L1]] to i32
1904-
; ALL-NEXT: [[E2:%.*]] = zext i4 [[L2]] to i32
1905-
; ALL-NEXT: [[S2:%.*]] = shl i32 [[E2]], 28
1906-
; ALL-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
1907-
; ALL-NEXT: ret i32 [[O1]]
1908-
;
1909-
%p1 = getelementptr i4, ptr %p, i32 7
1910-
%l1 = load i28, ptr %p
1911-
%l2 = load i4, ptr %p1
1912-
%e1 = zext i28 %l1 to i32
1913-
%e2 = zext i4 %l2 to i32
1914-
%s2 = shl i32 %e2, 28
1915-
%o1 = or i32 %e1, %s2
1916-
ret i32 %o1
1917-
}
1918-
1919-
define i32 @loadCombine_2consecutive_mixsize_not_equal_store_size3(ptr %p) {
1920-
; ALL-LABEL: @loadCombine_2consecutive_mixsize_not_equal_store_size3(
1921-
; ALL-NEXT: [[P1:%.*]] = getelementptr i1, ptr [[P:%.*]], i32 23
1922-
; ALL-NEXT: [[L1:%.*]] = load i23, ptr [[P]], align 4
1923-
; ALL-NEXT: [[L2:%.*]] = load i9, ptr [[P1]], align 2
1924-
; ALL-NEXT: [[E1:%.*]] = zext i23 [[L1]] to i32
1925-
; ALL-NEXT: [[E2:%.*]] = zext i9 [[L2]] to i32
1926-
; ALL-NEXT: [[S2:%.*]] = shl i32 [[E2]], 24
1927-
; ALL-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
1928-
; ALL-NEXT: ret i32 [[O1]]
1929-
;
1930-
%p1 = getelementptr i1, ptr %p, i32 23
1931-
%l1 = load i23, ptr %p
1932-
%l2 = load i9, ptr %p1
1933-
%e1 = zext i23 %l1 to i32
1934-
%e2 = zext i9 %l2 to i32
1935-
%s2 = shl i32 %e2, 24
1936-
%o1 = or i32 %e1, %s2
1937-
ret i32 %o1
1938-
}
1939-
1940-
define i32 @loadCombine_2consecutive_mixsize_not_equal_store_size4(ptr %p) {
1941-
; ALL-LABEL: @loadCombine_2consecutive_mixsize_not_equal_store_size4(
1942-
; ALL-NEXT: [[P1:%.*]] = getelementptr i1, ptr [[P:%.*]], i32 9
1943-
; ALL-NEXT: [[L1:%.*]] = load i9, ptr [[P]], align 2
1944-
; ALL-NEXT: [[L2:%.*]] = load i23, ptr [[P1]], align 4
1945-
; ALL-NEXT: [[E1:%.*]] = zext i9 [[L1]] to i32
1946-
; ALL-NEXT: [[E2:%.*]] = zext i23 [[L2]] to i32
1947-
; ALL-NEXT: [[S2:%.*]] = shl i32 [[E2]], 24
1948-
; ALL-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
1949-
; ALL-NEXT: ret i32 [[O1]]
1950-
;
1951-
%p1 = getelementptr i1, ptr %p, i32 9
1952-
%l1 = load i9, ptr %p
1953-
%l2 = load i23, ptr %p1
1954-
%e1 = zext i9 %l1 to i32
1955-
%e2 = zext i23 %l2 to i32
1956-
%s2 = shl i32 %e2, 24
1957-
%o1 = or i32 %e1, %s2
1958-
ret i32 %o1
1959-
}
1960-
1961-
define i32 @loadCombine_2consecutive_mixsize_not_power_of_two(ptr %p) {
1962-
; LE-LABEL: @loadCombine_2consecutive_mixsize_not_power_of_two(
1963-
; LE-NEXT: [[L1:%.*]] = load i32, ptr [[P:%.*]], align 1
1964-
; LE-NEXT: ret i32 [[L1]]
1965-
;
1966-
; BE-LABEL: @loadCombine_2consecutive_mixsize_not_power_of_two(
1967-
; BE-NEXT: [[P1:%.*]] = getelementptr i8, ptr [[P:%.*]], i32 1
1968-
; BE-NEXT: [[L1:%.*]] = load i8, ptr [[P]], align 1
1969-
; BE-NEXT: [[L2:%.*]] = load i24, ptr [[P1]], align 4
1970-
; BE-NEXT: [[E1:%.*]] = zext i8 [[L1]] to i32
1971-
; BE-NEXT: [[E2:%.*]] = zext i24 [[L2]] to i32
1972-
; BE-NEXT: [[S2:%.*]] = shl i32 [[E2]], 8
1973-
; BE-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
1974-
; BE-NEXT: ret i32 [[O1]]
1975-
;
1976-
%p1 = getelementptr i8, ptr %p, i32 1
1977-
%l1 = load i8, ptr %p
1978-
%l2 = load i24, ptr %p1
1979-
%e1 = zext i8 %l1 to i32
1980-
%e2 = zext i24 %l2 to i32
1981-
%s2 = shl i32 %e2, 8
1982-
%o1 = or i32 %e1, %s2
1983-
ret i32 %o1
1984-
}
1985-
1986-
define i32 @loadCombine_2consecutive_mixsize_not_power_of_two2(ptr %p) {
1987-
; LE-LABEL: @loadCombine_2consecutive_mixsize_not_power_of_two2(
1988-
; LE-NEXT: [[L1:%.*]] = load i32, ptr [[P:%.*]], align 4
1989-
; LE-NEXT: ret i32 [[L1]]
1990-
;
1991-
; BE-LABEL: @loadCombine_2consecutive_mixsize_not_power_of_two2(
1992-
; BE-NEXT: [[P1:%.*]] = getelementptr i8, ptr [[P:%.*]], i32 3
1993-
; BE-NEXT: [[L1:%.*]] = load i24, ptr [[P]], align 4
1994-
; BE-NEXT: [[L2:%.*]] = load i8, ptr [[P1]], align 1
1995-
; BE-NEXT: [[E1:%.*]] = zext i24 [[L1]] to i32
1996-
; BE-NEXT: [[E2:%.*]] = zext i8 [[L2]] to i32
1997-
; BE-NEXT: [[S2:%.*]] = shl i32 [[E2]], 24
1998-
; BE-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
1999-
; BE-NEXT: ret i32 [[O1]]
2000-
;
2001-
%p1 = getelementptr i8, ptr %p, i32 3
2002-
%l1 = load i24, ptr %p
2003-
%l2 = load i8, ptr %p1
2004-
%e1 = zext i24 %l1 to i32
2005-
%e2 = zext i8 %l2 to i32
2006-
%s2 = shl i32 %e2, 24
2007-
%o1 = or i32 %e1, %s2
2008-
ret i32 %o1
2009-
}
2010-
2011-
define i32 @loadCombine_2consecutive_sum_size_not_legal(ptr %p) {
2012-
; ALL-LABEL: @loadCombine_2consecutive_sum_size_not_legal(
2013-
; ALL-NEXT: [[P1:%.*]] = getelementptr i8, ptr [[P:%.*]], i32 2
2014-
; ALL-NEXT: [[L1:%.*]] = load i16, ptr [[P]], align 2
2015-
; ALL-NEXT: [[L2:%.*]] = load i8, ptr [[P1]], align 1
2016-
; ALL-NEXT: [[E1:%.*]] = zext i16 [[L1]] to i32
2017-
; ALL-NEXT: [[E2:%.*]] = zext i8 [[L2]] to i32
2018-
; ALL-NEXT: [[S2:%.*]] = shl i32 [[E2]], 16
2019-
; ALL-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
2020-
; ALL-NEXT: ret i32 [[O1]]
2021-
;
2022-
%p1 = getelementptr i8, ptr %p, i32 2
2023-
%l1 = load i16, ptr %p
2024-
%l2 = load i8, ptr %p1
2025-
%e1 = zext i16 %l1 to i32
2026-
%e2 = zext i8 %l2 to i32
2027-
%s2 = shl i32 %e2, 16
2028-
%o1 = or i32 %e1, %s2
2029-
ret i32 %o1
2030-
}
2031-
2032-
define i32 @loadCombine_2consecutive_sum_size_not_legal2(ptr %p) {
2033-
; ALL-LABEL: @loadCombine_2consecutive_sum_size_not_legal2(
2034-
; ALL-NEXT: [[P1:%.*]] = getelementptr i8, ptr [[P:%.*]], i32 1
2035-
; ALL-NEXT: [[L1:%.*]] = load i8, ptr [[P]], align 1
2036-
; ALL-NEXT: [[L2:%.*]] = load i16, ptr [[P1]], align 2
2037-
; ALL-NEXT: [[E1:%.*]] = zext i8 [[L1]] to i32
2038-
; ALL-NEXT: [[E2:%.*]] = zext i16 [[L2]] to i32
2039-
; ALL-NEXT: [[S2:%.*]] = shl i32 [[E2]], 8
2040-
; ALL-NEXT: [[O1:%.*]] = or i32 [[E1]], [[S2]]
2041-
; ALL-NEXT: ret i32 [[O1]]
2042-
;
2043-
%p1 = getelementptr i8, ptr %p, i32 1
2044-
%l1 = load i8, ptr %p
2045-
%l2 = load i16, ptr %p1
2046-
%e1 = zext i8 %l1 to i32
2047-
%e2 = zext i16 %l2 to i32
2048-
%s2 = shl i32 %e2, 8
2049-
%o1 = or i32 %e1, %s2
2050-
ret i32 %o1
2051-
}
2052-
2053-
define i64 @loadCombine_8consecutive_mixsize(ptr %p) {
2054-
; LE-LABEL: @loadCombine_8consecutive_mixsize(
2055-
; LE-NEXT: [[O3:%.*]] = load i64, ptr [[P:%.*]], align 1
2056-
; LE-NEXT: ret i64 [[O3]]
2057-
;
2058-
; BE-LABEL: @loadCombine_8consecutive_mixsize(
2059-
; BE-NEXT: [[P1:%.*]] = getelementptr i8, ptr [[P:%.*]], i64 1
2060-
; BE-NEXT: [[P2:%.*]] = getelementptr i8, ptr [[P]], i64 2
2061-
; BE-NEXT: [[P3:%.*]] = getelementptr i8, ptr [[P]], i64 4
2062-
; BE-NEXT: [[L1:%.*]] = load i8, ptr [[P]], align 1
2063-
; BE-NEXT: [[L2:%.*]] = load i8, ptr [[P1]], align 1
2064-
; BE-NEXT: [[L3:%.*]] = load i16, ptr [[P2]], align 2
2065-
; BE-NEXT: [[L4:%.*]] = load i32, ptr [[P3]], align 4
2066-
; BE-NEXT: [[E1:%.*]] = zext i8 [[L1]] to i64
2067-
; BE-NEXT: [[E2:%.*]] = zext i8 [[L2]] to i64
2068-
; BE-NEXT: [[E3:%.*]] = zext i16 [[L3]] to i64
2069-
; BE-NEXT: [[E4:%.*]] = zext i32 [[L4]] to i64
2070-
; BE-NEXT: [[S2:%.*]] = shl i64 [[E2]], 8
2071-
; BE-NEXT: [[S3:%.*]] = shl i64 [[E3]], 16
2072-
; BE-NEXT: [[S4:%.*]] = shl i64 [[E4]], 32
2073-
; BE-NEXT: [[O1:%.*]] = or i64 [[E1]], [[S2]]
2074-
; BE-NEXT: [[O2:%.*]] = or i64 [[O1]], [[S3]]
2075-
; BE-NEXT: [[O3:%.*]] = or i64 [[O2]], [[S4]]
2076-
; BE-NEXT: ret i64 [[O3]]
2077-
;
2078-
%p1 = getelementptr i8, ptr %p, i64 1
2079-
%p2 = getelementptr i8, ptr %p, i64 2
2080-
%p3 = getelementptr i8, ptr %p, i64 4
2081-
%l1 = load i8, ptr %p
2082-
%l2 = load i8, ptr %p1
2083-
%l3 = load i16, ptr %p2
2084-
%l4 = load i32, ptr %p3
2085-
2086-
%e1 = zext i8 %l1 to i64
2087-
%e2 = zext i8 %l2 to i64
2088-
%e3 = zext i16 %l3 to i64
2089-
%e4 = zext i32 %l4 to i64
2090-
2091-
%s2 = shl i64 %e2, 8
2092-
%s3 = shl i64 %e3, 16
2093-
%s4 = shl i64 %e4, 32
2094-
2095-
%o1 = or i64 %e1, %s2
2096-
%o2 = or i64 %o1, %s3
2097-
%o3 = or i64 %o2, %s4
2098-
ret i64 %o3
2099-
}
2100-
21011805
define i32 @loadCombine_4consecutive_lower_index_comes_before(ptr %p) {
21021806
; LE-LABEL: @loadCombine_4consecutive_lower_index_comes_before(
21031807
; LE-NEXT: [[L1:%.*]] = load i32, ptr [[P:%.*]], align 1

0 commit comments

Comments
 (0)