3925 uint position = position0;
3926
3927 return (MatchNode::base_operand( position, globals, result, name, opType));
3928 }
3929
3930
3931 bool MatchRule::is_base_register(FormDict &globals) const {
3932 uint position = 1;
3933 const char *result = NULL;
3934 const char *name = NULL;
3935 const char *opType = NULL;
3936 if (!base_operand(position, globals, result, name, opType)) {
3937 position = 0;
3938 if( base_operand(position, globals, result, name, opType) &&
3939 (strcmp(opType,"RegI")==0 ||
3940 strcmp(opType,"RegP")==0 ||
3941 strcmp(opType,"RegN")==0 ||
3942 strcmp(opType,"RegL")==0 ||
3943 strcmp(opType,"RegF")==0 ||
3944 strcmp(opType,"RegD")==0 ||
3945 strcmp(opType,"VecS")==0 ||
3946 strcmp(opType,"VecD")==0 ||
3947 strcmp(opType,"VecX")==0 ||
3948 strcmp(opType,"VecY")==0 ||
3949 strcmp(opType,"VecZ")==0 ||
3950 strcmp(opType,"Reg" )==0) ) {
3951 return 1;
3952 }
3953 }
3954 return 0;
3955 }
3956
3957 Form::DataType MatchRule::is_base_constant(FormDict &globals) const {
3958 uint position = 1;
3959 const char *result = NULL;
3960 const char *name = NULL;
3961 const char *opType = NULL;
3962 if (!base_operand(position, globals, result, name, opType)) {
3963 position = 0;
3964 if (base_operand(position, globals, result, name, opType)) {
|
3925 uint position = position0;
3926
3927 return (MatchNode::base_operand( position, globals, result, name, opType));
3928 }
3929
3930
3931 bool MatchRule::is_base_register(FormDict &globals) const {
3932 uint position = 1;
3933 const char *result = NULL;
3934 const char *name = NULL;
3935 const char *opType = NULL;
3936 if (!base_operand(position, globals, result, name, opType)) {
3937 position = 0;
3938 if( base_operand(position, globals, result, name, opType) &&
3939 (strcmp(opType,"RegI")==0 ||
3940 strcmp(opType,"RegP")==0 ||
3941 strcmp(opType,"RegN")==0 ||
3942 strcmp(opType,"RegL")==0 ||
3943 strcmp(opType,"RegF")==0 ||
3944 strcmp(opType,"RegD")==0 ||
3945 strcmp(opType,"RegVMask")==0 ||
3946 strcmp(opType,"VecA")==0 ||
3947 strcmp(opType,"VecS")==0 ||
3948 strcmp(opType,"VecD")==0 ||
3949 strcmp(opType,"VecX")==0 ||
3950 strcmp(opType,"VecY")==0 ||
3951 strcmp(opType,"VecZ")==0 ||
3952 strcmp(opType,"Reg" )==0) ) {
3953 return 1;
3954 }
3955 }
3956 return 0;
3957 }
3958
3959 Form::DataType MatchRule::is_base_constant(FormDict &globals) const {
3960 uint position = 1;
3961 const char *result = NULL;
3962 const char *name = NULL;
3963 const char *opType = NULL;
3964 if (!base_operand(position, globals, result, name, opType)) {
3965 position = 0;
3966 if (base_operand(position, globals, result, name, opType)) {
|