<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi,<br>
<br>
Within a basic block I can remove unnecessary register copies + zero sign extensions of  unsigned-8bit-loaded values by implementing isZExtFree() for ISD::LOAD nodes.<br>
...But not between basic blocks.<br>
<br>
The first block does a CopyFromReg of the unsigned-8bit-loaded vreg1 into a new vreg2.<br>
The second block then does a unnecessary zext to vreg2.<br>
What I want is the 2nd block to use the original vreg1!<br>
What I am getting is one extra register clobber and two extra instructions.<br>
<br>
I have looked at other targets to see what they do but can't see what I am missing.<br>
<br>
Help please!<br>
Thank you<br>
<br>
Robert<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
</body>
</html>