Skip to content

Commit 73c7dce

Browse files
committed
[X86] Remove i128 type from FR128 regclass.
i128 isn't a legal type in our x86 implementation today. So remove this and the few patterns that used it until it becomes necessary. llvm-svn: 336889
1 parent 907bde1 commit 73c7dce

File tree

3 files changed

+1
-18
lines changed

3 files changed

+1
-18
lines changed

llvm/lib/Target/X86/X86InstrSSE.td

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8117,11 +8117,6 @@ def : Pat<(X86fand FR128:$src1, FR128:$src2),
81178117
(ANDPSrr (COPY_TO_REGCLASS FR128:$src1, VR128),
81188118
(COPY_TO_REGCLASS FR128:$src2, VR128)), FR128)>;
81198119

8120-
def : Pat<(and FR128:$src1, FR128:$src2),
8121-
(COPY_TO_REGCLASS
8122-
(ANDPSrr (COPY_TO_REGCLASS FR128:$src1, VR128),
8123-
(COPY_TO_REGCLASS FR128:$src2, VR128)), FR128)>;
8124-
81258120
def : Pat<(X86for FR128:$src1, (memopf128 addr:$src2)),
81268121
(COPY_TO_REGCLASS
81278122
(ORPSrm (COPY_TO_REGCLASS FR128:$src1, VR128), f128mem:$src2),
@@ -8132,11 +8127,6 @@ def : Pat<(X86for FR128:$src1, FR128:$src2),
81328127
(ORPSrr (COPY_TO_REGCLASS FR128:$src1, VR128),
81338128
(COPY_TO_REGCLASS FR128:$src2, VR128)), FR128)>;
81348129

8135-
def : Pat<(or FR128:$src1, FR128:$src2),
8136-
(COPY_TO_REGCLASS
8137-
(ORPSrr (COPY_TO_REGCLASS FR128:$src1, VR128),
8138-
(COPY_TO_REGCLASS FR128:$src2, VR128)), FR128)>;
8139-
81408130
def : Pat<(X86fxor FR128:$src1, (memopf128 addr:$src2)),
81418131
(COPY_TO_REGCLASS
81428132
(XORPSrm (COPY_TO_REGCLASS FR128:$src1, VR128), f128mem:$src2),
@@ -8147,11 +8137,6 @@ def : Pat<(X86fxor FR128:$src1, FR128:$src2),
81478137
(XORPSrr (COPY_TO_REGCLASS FR128:$src1, VR128),
81488138
(COPY_TO_REGCLASS FR128:$src2, VR128)), FR128)>;
81498139

8150-
def : Pat<(xor FR128:$src1, FR128:$src2),
8151-
(COPY_TO_REGCLASS
8152-
(XORPSrr (COPY_TO_REGCLASS FR128:$src1, VR128),
8153-
(COPY_TO_REGCLASS FR128:$src2, VR128)), FR128)>;
8154-
81558140
//===----------------------------------------------------------------------===//
81568141
// GFNI instructions
81578142
//===----------------------------------------------------------------------===//

llvm/lib/Target/X86/X86InstrVecCompiler.td

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ def : Pat<(v2f64 (bitconvert (v4i32 VR128:$src))), (v2f64 VR128:$src)>;
4848
def : Pat<(v2f64 (bitconvert (v8i16 VR128:$src))), (v2f64 VR128:$src)>;
4949
def : Pat<(v2f64 (bitconvert (v16i8 VR128:$src))), (v2f64 VR128:$src)>;
5050
def : Pat<(v2f64 (bitconvert (v4f32 VR128:$src))), (v2f64 VR128:$src)>;
51-
def : Pat<(f128 (bitconvert (i128 FR128:$src))), (f128 FR128:$src)>;
52-
def : Pat<(i128 (bitconvert (f128 FR128:$src))), (i128 FR128:$src)>;
5351

5452
// Bitcasts between 256-bit vector types. Return the original type since
5553
// no instruction is needed for the conversion

llvm/lib/Target/X86/X86RegisterInfo.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ def FR32 : RegisterClass<"X86", [f32], 32, (sequence "XMM%u", 0, 15)>;
504504

505505
def FR64 : RegisterClass<"X86", [f64], 64, (add FR32)>;
506506

507-
def FR128 : RegisterClass<"X86", [i128, f128], 128, (add FR32)>;
507+
def FR128 : RegisterClass<"X86", [f128], 128, (add FR32)>;
508508

509509

510510
// FIXME: This sets up the floating point register files as though they are f64

0 commit comments

Comments
 (0)