+ SAREG|AWD, TFLOAT,
+ SAREG|AWD, TDOUBLE,
+ 0, RLEFT|RESCC,
+ " ldd AR\n cvdf\n stf AL\n",
+
+ASSIGN, INAREG|FOREFF|FORCC,
+ SAREG|AWD, TDOUBLE,
+ SAREG|AWD, TFLOAT,
+ 0, RLEFT|RESCC,
+ " ldfd AR\n std AL\n",
+
+ASSIGN, INAREG|FOREFF|FORCC,
+ SAREG|AWD, TFLOAT|TDOUBLE,
+ SAREG|AWD, TINT,
+ 0, RLEFT|RESCC,
+ " cvlZL AR\n stZL AL\n",
+
+/* XXX need to trim significance here? */
+ASSIGN, INAREG|FOREFF|FORCC,
+ SAREG|AWD, TINT,
+ SAREG|AWD, TFLOAT|TDOUBLE,
+ 0, RLEFT|RESCC,
+ " ldZR AR\n cvZRl AL\n",
+
+/* unfortunately assignments are exempt from type balancing */
+ASSIGN, INAREG|FOREFF|FORCC,
+ SAREG|AWD, TCHAR|TUCHAR|TSHORT|TUSHORT,
+ SAREG|AWD, TFLOAT|TDOUBLE,
+ NAREG|NASR, RLEFT|RESCC,
+ " ldZR AR\n cvZRl A1\n cvtlZL A1,AL\n",
+
+ASSIGN, INAREG|FOREFF|FORCC,
+ SAREG|AWD, TFLOAT|TDOUBLE,
+ SAREG|AWD, TCHAR|TSHORT,
+ NAREG|NASR, RLEFT|RESCC,
+ " cvtZRl AR,A1\n cvlZL A1\n stZL AL\n",
+
+ASSIGN, INAREG|FOREFF|FORCC,
+ SAREG|AWD, TFLOAT|TDOUBLE,
+ SAREG|AWD, TUCHAR|TUSHORT,
+ NAREG|NASR, RLEFT|RESCC,
+ " movzZRl AR,A1\n cvlZL A1\n stZL AL\n",
+
+ASSIGN, INAREG|FOREFF|FORCC,
+ SAREG|AWD, TUNSIGNED,
+ SAREG|AWD, TFLOAT|TDOUBLE,
+ 0, RLEFT,
+ " ZW\n",
+
+ASSIGN, INAREG|FOREFF|FORCC,
+ SAREG|AWD, TFLOAT|TDOUBLE,
+ SAREG|AWD, TUNSIGNED,
+ 0, RLEFT,
+ " ZY\n",