diff --git a/llvm/lib/Target/VE/VECallingConv.td b/llvm/lib/Target/VE/VECallingConv.td --- a/llvm/lib/Target/VE/VECallingConv.td +++ b/llvm/lib/Target/VE/VECallingConv.td @@ -102,4 +102,6 @@ def CSR_NoRegs : CalleeSavedRegs<(add)>; // PreserveAll (clobbers s62,s63) - used for ve_grow_stack -def CSR_preserve_all : CalleeSavedRegs<(add (sequence "SX%u", 0, 61))>; +def CSR_preserve_all : CalleeSavedRegs<(add (sequence "SX%u", 0, 61), + (sequence "V%u", 0, 63), + (sequence "VM%u", 1, 15))>;