============================================== Checklist for Machine Description Assignments. ============================================== The assignments have been designed with specific learning objectives that include the following: understanding the structure of machine descriptions, RTL patterns, and define_insn and define_expand constructs. The following self-assessment list should give you a fair idea of the extent to which you have learnt the expected material. Please try to respond to these statements after doing the assignments on GIMPLE. Your responses to the statements could be: `Yes', `No', or `Partly', or `I am not sure'. Please make sure that you move to an assignment only after getting mostly `Yes' on the checklist for the previous assignment. This is advisable even if this seems to slow down your progress because in general, an assignment assumes the knowledge gained from the previous assignment. In case you are unable to say `Yes' for many of the statements, we advise you to talk to a Teaching Assistant to clarify the concepts. If the need be, we will try to find someone to explain the concepts later in the evening. 1) I am able to build cc1 for spim1 target. 2) I am able to map GIMPLE statements to spim assembly language. 3) I am able to understand RTL instructions. 4) I am able to map GIMPLE statements to RTL instructions. 5) I know the use of define_insn. 6) I am able to understand RTL template. a) I know the functionality of predicates. b) I know the functionality of constraints. c) I know how to use pattern names. d) I know what are machine modes. e) I know how to specify register, memory and immediate operands. f) I know how and where to specify assembly instructions in RTL. 7) I know the use of define_expand. a) I know the difference between define_insn and define_expand. b) I am able to write a define_expand instruction. 8) I know how to access operands in the C code area of define_expand. 9) I understand the role of the macro FAIL. 10) I understand the role of the macro DONE. 11) I understand the role of C code in define_expand. 12) I understand how GCC matches MD-RTLs so as to output the corresponding assembly code.