summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Liao <michael.liao@intel.com>2013-12-04 17:44:22 +0000
committerMichael Liao <michael.liao@intel.com>2013-12-04 17:44:22 +0000
commita2f6f94b74b7660cdf594ee9c538e4bae2978c71 (patch)
tree692c8e43d1cc51333440bf0a4db41fe23d9b8427 /lib
parente834f41f7aac8abf0e506f7cea8ac4426aaf4e3d (diff)
downloadllvm-a2f6f94b74b7660cdf594ee9c538e4bae2978c71.tar.gz
llvm-a2f6f94b74b7660cdf594ee9c538e4bae2978c71.tar.bz2
llvm-a2f6f94b74b7660cdf594ee9c538e4bae2978c71.tar.xz
[X86] Check YMM31/ZMM31 as well
- No test case as there's no calling convention preserve YMM31/ZMM31 only git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196391 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/X86/X86VZeroUpper.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/X86/X86VZeroUpper.cpp b/lib/Target/X86/X86VZeroUpper.cpp
index a944652949..66ae9c2d7f 100644
--- a/lib/Target/X86/X86VZeroUpper.cpp
+++ b/lib/Target/X86/X86VZeroUpper.cpp
@@ -122,11 +122,11 @@ static bool checkFnHasLiveInYmm(MachineRegisterInfo &MRI) {
}
static bool clobbersAllYmmRegs(const MachineOperand &MO) {
- for (unsigned reg = X86::YMM0; reg < X86::YMM31; ++reg) {
+ for (unsigned reg = X86::YMM0; reg <= X86::YMM31; ++reg) {
if (!MO.clobbersPhysReg(reg))
return false;
}
- for (unsigned reg = X86::ZMM0; reg < X86::ZMM31; ++reg) {
+ for (unsigned reg = X86::ZMM0; reg <= X86::ZMM31; ++reg) {
if (!MO.clobbersPhysReg(reg))
return false;
}
@@ -155,11 +155,11 @@ static bool clobbersAnyYmmReg(MachineInstr *MI) {
const MachineOperand &MO = MI->getOperand(i);
if (!MO.isRegMask())
continue;
- for (unsigned reg = X86::YMM0; reg < X86::YMM31; ++reg) {
+ for (unsigned reg = X86::YMM0; reg <= X86::YMM31; ++reg) {
if (MO.clobbersPhysReg(reg))
return true;
}
- for (unsigned reg = X86::ZMM0; reg < X86::ZMM31; ++reg) {
+ for (unsigned reg = X86::ZMM0; reg <= X86::ZMM31; ++reg) {
if (MO.clobbersPhysReg(reg))
return true;
}