From 224a9299ff8ffc4e9394566055c59b2da29490ac Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Thu, 10 Dec 2015 06:09:41 +0000 Subject: [PATCH] [X86] Fix a couple cases were bitwise and logical operations were being mixed. NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255224 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp | 2 +- lib/Target/X86/X86FrameLowering.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp index 6140c5ac1e7..040143b1558 100644 --- a/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp +++ b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp @@ -361,7 +361,7 @@ static int readPrefixes(struct InternalInstruction* insn) { * then it should be disassembled as a xacquire/xrelease not repne/rep. */ if ((byte == 0xf2 || byte == 0xf3) && - ((nextByte == 0xf0) | + ((nextByte == 0xf0) || ((nextByte & 0xfe) == 0x86 || (nextByte & 0xf8) == 0x90))) insn->xAcquireRelease = true; /* diff --git a/lib/Target/X86/X86FrameLowering.cpp b/lib/Target/X86/X86FrameLowering.cpp index 8695a0e2967..7841a84326b 100644 --- a/lib/Target/X86/X86FrameLowering.cpp +++ b/lib/Target/X86/X86FrameLowering.cpp @@ -1003,7 +1003,7 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF, else if (IsFunclet) Establisher = Uses64BitFramePtr ? X86::RDX : X86::EDX; - if (IsWin64Prologue && IsFunclet & !IsClrFunclet) { + if (IsWin64Prologue && IsFunclet && !IsClrFunclet) { // Immediately spill establisher into the home slot. // The runtime cares about this. // MOV64mr %rdx, 16(%rsp) -- 2.34.1