isa_traits.hh (4587:2c9a2534a489) | isa_traits.hh (4772:f08370a81812) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * Redistribution and use of this software in source and binary forms, 6 * with or without modification, are permitted provided that the 7 * following conditions are met: 8 * --- 85 unchanged lines hidden (view full) --- 94 // semantically meaningful register indices 95 //There is no such register in X86 96 const int ZeroReg = NUM_INTREGS; 97 const int StackPointerReg = INTREG_RSP; 98 //X86 doesn't seem to have a link register 99 const int ReturnAddressReg = 0; 100 const int ReturnValueReg = INTREG_RAX; 101 const int FramePointerReg = INTREG_RBP; | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * Redistribution and use of this software in source and binary forms, 6 * with or without modification, are permitted provided that the 7 * following conditions are met: 8 * --- 85 unchanged lines hidden (view full) --- 94 // semantically meaningful register indices 95 //There is no such register in X86 96 const int ZeroReg = NUM_INTREGS; 97 const int StackPointerReg = INTREG_RSP; 98 //X86 doesn't seem to have a link register 99 const int ReturnAddressReg = 0; 100 const int ReturnValueReg = INTREG_RAX; 101 const int FramePointerReg = INTREG_RBP; |
102 const int ArgumentReg0 = INTREG_RDI; 103 const int ArgumentReg1 = INTREG_RSI; 104 const int ArgumentReg2 = INTREG_RDX; 105 const int ArgumentReg3 = INTREG_RCX; 106 const int ArgumentReg4 = INTREG_R8W; 107 const int ArgumentReg5 = INTREG_R9W; | 102 const int ArgumentReg[] = { 103 INTREG_RDI, 104 INTREG_RSI, 105 INTREG_RDX, 106 //This argument register is r10 for syscalls and rcx for C. 107 INTREG_R10W, 108 //INTREG_RCX, 109 INTREG_R8W, 110 INTREG_R9W 111 }; 112 const int NumArgumentRegs = sizeof(ArgumentReg) / sizeof(const int); |
108 109 // Some OS syscalls use a second register (rdx) to return a second 110 // value 111 const int SyscallPseudoReturnReg = INTREG_RDX; 112 113 //XXX These numbers are bogus 114 const int MaxInstSrcRegs = 10; 115 const int MaxInstDestRegs = 10; --- 14 unchanged lines hidden --- | 113 114 // Some OS syscalls use a second register (rdx) to return a second 115 // value 116 const int SyscallPseudoReturnReg = INTREG_RDX; 117 118 //XXX These numbers are bogus 119 const int MaxInstSrcRegs = 10; 120 const int MaxInstDestRegs = 10; --- 14 unchanged lines hidden --- |