| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 import collections | 6 import collections |
| 7 import copy | 7 import copy |
| 8 import itertools | 8 import itertools |
| 9 import optparse | 9 import optparse |
| 10 import re | 10 import re |
| (...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 637 (operand.index, operand.GetFormat(self._bitness))) | 637 (operand.index, operand.GetFormat(self._bitness))) |
| 638 | 638 |
| 639 for attr in instruction.attributes: | 639 for attr in instruction.attributes: |
| 640 if attr.startswith('CPUFeature_'): | 640 if attr.startswith('CPUFeature_'): |
| 641 self._out.write('@%s\n' % attr) | 641 self._out.write('@%s\n' % attr) |
| 642 | 642 |
| 643 if self._mode == VALIDATOR and self._bitness == 64: | 643 if self._mode == VALIDATOR and self._bitness == 64: |
| 644 if Attribute('nacl-amd64-modifiable') in instruction.attributes: | 644 if Attribute('nacl-amd64-modifiable') in instruction.attributes: |
| 645 self._out.write('@modifiable_instruction\n') | 645 self._out.write('@modifiable_instruction\n') |
| 646 | 646 |
| 647 if self._mode == VALIDATOR: |
| 648 if Attribute('nacl-forbid-or-rewrite') in instruction.attributes: |
| 649 self._out.write('@forbid_or_rewrite_instruction\n') |
| 650 |
| 647 def _NeedOperandInfo(self, operand): | 651 def _NeedOperandInfo(self, operand): |
| 648 """Whether we need to print actions describing operand format and source.""" | 652 """Whether we need to print actions describing operand format and source.""" |
| 649 if self._mode == DECODER: | 653 if self._mode == DECODER: |
| 650 return True | 654 return True |
| 651 | 655 |
| 652 if self._bitness == 32: | 656 if self._bitness == 32: |
| 653 return False | 657 return False |
| 654 | 658 |
| 655 # In 64-bit validator we only care about general purpose registers we | 659 # In 64-bit validator we only care about general purpose registers we |
| 656 # are writing to. | 660 # are writing to. |
| (...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1493 | 1497 |
| 1494 print ' one_instruction = ' | 1498 print ' one_instruction = ' |
| 1495 print '|\n'.join(printed_instrs) | 1499 print '|\n'.join(printed_instrs) |
| 1496 | 1500 |
| 1497 print ' ;' | 1501 print ' ;' |
| 1498 print '}%%' | 1502 print '}%%' |
| 1499 | 1503 |
| 1500 | 1504 |
| 1501 if __name__ == '__main__': | 1505 if __name__ == '__main__': |
| 1502 main() | 1506 main() |
| OLD | NEW |