mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 02:29:18 +00:00
Revert the wrong part of r139528, and fix testcases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139541 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fd92d2e106
commit
457d53d9ce
@ -8458,12 +8458,12 @@ SDValue X86TargetLowering::LowerVSETCC(SDValue Op, SelectionDAG &DAG) const {
|
|||||||
default: break;
|
default: break;
|
||||||
case ISD::SETOEQ:
|
case ISD::SETOEQ:
|
||||||
case ISD::SETEQ: SSECC = 0; break;
|
case ISD::SETEQ: SSECC = 0; break;
|
||||||
case ISD::SETOGE:
|
|
||||||
case ISD::SETGE: Swap = true; // Fallthrough
|
|
||||||
case ISD::SETLT:
|
|
||||||
case ISD::SETOLT: SSECC = 1; break;
|
|
||||||
case ISD::SETOGT:
|
case ISD::SETOGT:
|
||||||
case ISD::SETGT: Swap = true; // Fallthrough
|
case ISD::SETGT: Swap = true; // Fallthrough
|
||||||
|
case ISD::SETLT:
|
||||||
|
case ISD::SETOLT: SSECC = 1; break;
|
||||||
|
case ISD::SETOGE:
|
||||||
|
case ISD::SETGE: Swap = true; // Fallthrough
|
||||||
case ISD::SETLE:
|
case ISD::SETLE:
|
||||||
case ISD::SETOLE: SSECC = 2; break;
|
case ISD::SETOLE: SSECC = 2; break;
|
||||||
case ISD::SETUO: SSECC = 3; break;
|
case ISD::SETUO: SSECC = 3; break;
|
||||||
|
@ -85,7 +85,7 @@ define <8 x i64> @vsel_i648(<8 x i64> %v1, <8 x i64> %v2) {
|
|||||||
;; TEST blend + compares
|
;; TEST blend + compares
|
||||||
; CHECK: A
|
; CHECK: A
|
||||||
define <2 x double> @A(<2 x double> %x, <2 x double> %y) {
|
define <2 x double> @A(<2 x double> %x, <2 x double> %y) {
|
||||||
; CHECK: vcmpltpd
|
; CHECK: vcmplepd
|
||||||
; CHECK: vblendvpd
|
; CHECK: vblendvpd
|
||||||
%max_is_x = fcmp oge <2 x double> %x, %y
|
%max_is_x = fcmp oge <2 x double> %x, %y
|
||||||
%max = select <2 x i1> %max_is_x, <2 x double> %x, <2 x double> %y
|
%max = select <2 x i1> %max_is_x, <2 x double> %x, <2 x double> %y
|
||||||
@ -94,7 +94,7 @@ define <2 x double> @A(<2 x double> %x, <2 x double> %y) {
|
|||||||
|
|
||||||
; CHECK: B
|
; CHECK: B
|
||||||
define <2 x double> @B(<2 x double> %x, <2 x double> %y) {
|
define <2 x double> @B(<2 x double> %x, <2 x double> %y) {
|
||||||
; CHECK: vcmplepd
|
; CHECK: vcmpltpd
|
||||||
; CHECK: vblendvpd
|
; CHECK: vblendvpd
|
||||||
%max_is_x = fcmp ogt <2 x double> %x, %y
|
%max_is_x = fcmp ogt <2 x double> %x, %y
|
||||||
%max = select <2 x i1> %max_is_x, <2 x double> %x, <2 x double> %y
|
%max = select <2 x i1> %max_is_x, <2 x double> %x, <2 x double> %y
|
||||||
|
@ -47,7 +47,7 @@ define <16 x i8> @vsel_i8(<16 x i8> %v1, <16 x i8> %v2) {
|
|||||||
;; TEST blend + compares
|
;; TEST blend + compares
|
||||||
; CHECK: A
|
; CHECK: A
|
||||||
define <2 x double> @A(<2 x double> %x, <2 x double> %y) {
|
define <2 x double> @A(<2 x double> %x, <2 x double> %y) {
|
||||||
; CHECK: cmpltpd
|
; CHECK: cmplepd
|
||||||
; CHECK: blendvpd
|
; CHECK: blendvpd
|
||||||
%max_is_x = fcmp oge <2 x double> %x, %y
|
%max_is_x = fcmp oge <2 x double> %x, %y
|
||||||
%max = select <2 x i1> %max_is_x, <2 x double> %x, <2 x double> %y
|
%max = select <2 x i1> %max_is_x, <2 x double> %x, <2 x double> %y
|
||||||
@ -56,7 +56,7 @@ define <2 x double> @A(<2 x double> %x, <2 x double> %y) {
|
|||||||
|
|
||||||
; CHECK: B
|
; CHECK: B
|
||||||
define <2 x double> @B(<2 x double> %x, <2 x double> %y) {
|
define <2 x double> @B(<2 x double> %x, <2 x double> %y) {
|
||||||
; CHECK: cmplepd
|
; CHECK: cmpltpd
|
||||||
; CHECK: blendvpd
|
; CHECK: blendvpd
|
||||||
%max_is_x = fcmp ogt <2 x double> %x, %y
|
%max_is_x = fcmp ogt <2 x double> %x, %y
|
||||||
%max = select <2 x i1> %max_is_x, <2 x double> %x, <2 x double> %y
|
%max = select <2 x i1> %max_is_x, <2 x double> %x, <2 x double> %y
|
||||||
|
Loading…
Reference in New Issue
Block a user