<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/63429>63429</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            llvm-reduce should try simplifying instructions assuming fast math
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm-reduce
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          arsenm
      </td>
    </tr>
</table>

<pre>
    I see patterns such as this after reduction:
`  %i3.i = tail call <3 x float> @llvm.fmuladd.v3f32(<3 x float> %extractVec278.i.i, <3 x float> zeroinitializer, <3 x float> %extractVec3.i.i.i)`

InstCombine will fold this to fadd, but only with nsz. I'm not sure the best way to force this simplification. We could either start introducing fast math flags, or repeat the same kind of folds in the reducer.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsksFupEgMhp-muFhBUNVNw4FDNtmW8gK7Z0OZxrtFVatsknSefgSd0UyUuYAE9uffv38U4Usk6s3xL3N8LnDVOeUes1BciiH5W_8CQgRXVKUcBWQdZ0ABnVkAJ6UMmfw6Kqdo3KOpnk31aJoKwNgju5LBuGdQ5AAjhgDGPTl4hykkVOP-BnOoQnhdymlZA3pfvrrJWWPbb3X2SO-acdR_aLSntuSSjX36xvugnDiyMgb-oPynki8ot4E2VGea6lP9_nyJok9pGTgSvHEIMKXg72trggm939jDqpBiuMEb6wxRPkp4Mfa0QEwKsmYCnQkGEoU3vO2dKY905wgv18ATj7i5V8K_BGNagwdinSmDKGYFjpqTX0eOF5hQFBbUGaaAF9kUpO0AV0LdJwkuBP9z9JCmXbEAx_3PfiXKZeF75zvXYUF93bQnd6yaky3mvq09nobxOHRk66kba2rrxh6oocF2zakuuLeVdVVj69q6urZl69rDUPvq0OKpPdjOHCpakEO5XzTlS8EiK_WNO9iuCDhQkD1p1m4VD3dJxtoternfvw3rRbZMsKj84ihroP63JpB5d0rz7aeNt80gjqL5nkYBFFmXL7YVaw79rHqVLav2bOz5wjqvQzmmxdjzNuHz9XDN6T8a1djzvoUYe94X-REAAP__93AM3Q">