<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
Suppose I have a target system with two different register classes which hold different values,<span style="mso-spacerun:yes"> 
</span>let us refer to them as Prc and Src, and individual elements P0,P1,… and S0,S1… respectively</p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
Now I have an instruction which has a field that takes either a<span style="mso-spacerun:yes">
</span>Prc or an Src. </p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
If I create a third register class which combines all of the individual registers and has both types, then I get an error such as</p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
error: Value #0 of OperandWithDefaultOps <span style="mso-spacerun:yes"> </span>‘’FOO” doesn't have a concrete type!
</p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
Where effectively I had </p>
<p style="margin: 0in 0in 0pt; font-family: "Calibri",sans-serif; font-size: 11pt">
<span style="mso-tab-count:1">               </span>def Prc : registerclass<’”ns”, [Type1], 8 (add P0, … )></p>
<p style="margin: 0in 0in 0pt; font-family: "Calibri",sans-serif; font-size: 11pt">
<span style="mso-tab-count:1">               </span>def Src : registerclass<’”ns”, [Type2], 8 (add S0, … )></p>
<p style="margin: 0in 0in 0pt; font-family: "Calibri",sans-serif; font-size: 11pt">
<span style="mso-tab-count:1">               </span>def PSrc : registerclass<”ns”, [Type1, Type2], 8, (add P0…., S0…)></p>
<p style="margin: 0in 0in 0pt; font-family: "Calibri",sans-serif; font-size: 11pt">
<span style="mso-tab-count:1">               </span>def Pop : RegisterOperand<Prc> { }
</p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
<span style="mso-tab-count:1">               </span>def FOO : OperandWithDefaults<Type1, (ops P0)>
</p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
What guidance or examples are there for approaching this kind of problem?</p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
Thanks</p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
</p>
<p style="margin: 0in 0in 8pt; line-height: 107%; font-family: "Calibri",sans-serif; font-size: 11pt">
david</p>
<br>
</span></div>
</body>
</html>