regop.isa (4725:441c280b5936) regop.isa (4728:d60b98171bef)
1// Copyright (c) 2007 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

--- 369 unchanged lines hidden (view full) ---

378 microopClasses[name + 'i'] = RegOpChildImm
379
380 setUpMicroRegOp(name + "i", Name + "Imm", "X86ISA::RegOpImm", immCode);
381 setUpMicroRegOp(name + "i", Name + "ImmFlags", "X86ISA::RegOpImm", immCode,
382 flagCode = immFlagCode, condCheck = condCode, elseCode = elseCode);
383
384 defineMicroRegOp('Add', 'DestReg = merge(DestReg, SrcReg1 + op2, dataSize)')
385 defineMicroRegOp('Or', 'DestReg = merge(DestReg, SrcReg1 | op2, dataSize)')
1// Copyright (c) 2007 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

--- 369 unchanged lines hidden (view full) ---

378 microopClasses[name + 'i'] = RegOpChildImm
379
380 setUpMicroRegOp(name + "i", Name + "Imm", "X86ISA::RegOpImm", immCode);
381 setUpMicroRegOp(name + "i", Name + "ImmFlags", "X86ISA::RegOpImm", immCode,
382 flagCode = immFlagCode, condCheck = condCode, elseCode = elseCode);
383
384 defineMicroRegOp('Add', 'DestReg = merge(DestReg, SrcReg1 + op2, dataSize)')
385 defineMicroRegOp('Or', 'DestReg = merge(DestReg, SrcReg1 | op2, dataSize)')
386 defineMicroRegOp('Adc', 'DestReg = merge(DestReg, SrcReg1 + op2, dataSize)')
387 defineMicroRegOp('Sbb', 'DestReg = merge(DestReg, SrcReg1 - op2, dataSize)', True)
386 defineMicroRegOp('Adc', '''
387 CCFlagBits flags = ccFlagBits;
388 DestReg = merge(DestReg, SrcReg1 + op2 + flags.CF, dataSize);
389 ''')
390 defineMicroRegOp('Sbb', '''
391 CCFlagBits flags = ccFlagBits;
392 DestReg = merge(DestReg, SrcReg1 - op2 - flags.CF, dataSize);
393 ''', True)
388 defineMicroRegOp('And', 'DestReg = merge(DestReg, SrcReg1 & op2, dataSize)')
389 defineMicroRegOp('Sub', 'DestReg = merge(DestReg, SrcReg1 - op2, dataSize)', True)
390 defineMicroRegOp('Xor', 'DestReg = merge(DestReg, SrcReg1 ^ op2, dataSize)')
394 defineMicroRegOp('And', 'DestReg = merge(DestReg, SrcReg1 & op2, dataSize)')
395 defineMicroRegOp('Sub', 'DestReg = merge(DestReg, SrcReg1 - op2, dataSize)', True)
396 defineMicroRegOp('Xor', 'DestReg = merge(DestReg, SrcReg1 ^ op2, dataSize)')
391 defineMicroRegOp('Cmp', 'DestReg = merge(DestReg, DestReg - op2, dataSize)', True)
397 # defineMicroRegOp('Cmp', 'DestReg = merge(DestReg, DestReg - op2, dataSize)', True)
392 defineMicroRegOp('Mul1s', 'DestReg = merge(DestReg, DestReg * op2, dataSize)')
393 defineMicroRegOp('Mov', 'DestReg = merge(SrcReg1, op2, dataSize)',
394 elseCode='DestReg=DestReg;', cc=True)
395
396 # Shift instructions
397 defineMicroRegOp('Sll', '''
398 uint8_t shiftAmt = (op2 & ((dataSize == 8) ? mask(4) : mask(3)));
399 DestReg = merge(DestReg, SrcReg1 << shiftAmt, dataSize);

--- 83 unchanged lines hidden ---
398 defineMicroRegOp('Mul1s', 'DestReg = merge(DestReg, DestReg * op2, dataSize)')
399 defineMicroRegOp('Mov', 'DestReg = merge(SrcReg1, op2, dataSize)',
400 elseCode='DestReg=DestReg;', cc=True)
401
402 # Shift instructions
403 defineMicroRegOp('Sll', '''
404 uint8_t shiftAmt = (op2 & ((dataSize == 8) ? mask(4) : mask(3)));
405 DestReg = merge(DestReg, SrcReg1 << shiftAmt, dataSize);

--- 83 unchanged lines hidden ---