00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include "defs.h"
00032 #include "erglob.h"
00033 #include "ercg.h"
00034 #include "tracing.h"
00035 #include "tn.h"
00036 #include "op.h"
00037 #include "cgexp.h"
00038 #include "cgexp_internals.h"
00039
00040 inline void Alloc_Result_TNs(TN * &tn, TN * &ctn)
00041 {
00042 FmtAssert(FALSE, ("Not Yet Implemented"));
00043 }
00044
00045
00046 void Exp_Pred_Set(TN *dest, TN *cdest, INT val, OPS *ops)
00047 {
00048 FmtAssert(val == 0 || val == 1, ("Can only set predicate to 0 or 1"));
00049 TOP opc = TOP_setp_ne_s32;
00050 TN *zero_tn = Expand_Mtype_Immediate_Into_Register (
00051 Gen_Literal_TN(0,4), MTYPE_I4, ops);
00052 TN *val_tn = Expand_Mtype_Immediate_Into_Register (
00053 Gen_Literal_TN(val,4), MTYPE_I4, ops);
00054 Build_OP (opc, dest, val_tn, zero_tn, ops);
00055 }
00056
00057
00058 void Exp_Pred_Copy(TN *dest, TN *cdest, TN *src, OPS *ops)
00059 {
00060 FmtAssert(FALSE, ("Not Yet Implemented"));
00061 }
00062
00063
00064 void Exp_Pred_Complement(TN *dest, TN *cdest, TN *src, OPS *ops)
00065 {
00066 FmtAssert(FALSE, ("Not Yet Implemented"));
00067 }
00068
00069
00070 void Exp_Pred_Compare(TN *dest, TN *cdest, TN *src1, TN *src2, VARIANT variant,
00071 OPS *ops)
00072 {
00073 FmtAssert(FALSE, ("Not Yet Implemented"));
00074 }