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

    <tr>
        <th>Summary</th>
        <td>
            [flang][x86] transform mulss to xorps for sign(1.,x) * sign(1.,y)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

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

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

<pre>
    * test: https://gcc.godbolt.org/z/zcxKG63E3
```
integer function test_sign(x, y)
    implicit none
    real, intent(in) :: x, y
 print *, sign(1.,x) * sign(1.,y)
end function test_sign
```

* gfortran: **xorps**   xmm0, xmm1 (line 26)
* flang-new: **mulss**   %xmm1, %xmm0 (line 28)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMUsGOnDAM_RpziRYFJ8Bw4MDulB76EVWAhEkVklEStmy_vkpmVNRqD5UgGOv5-dl5IgS9Wil7qF-hvhZijzfn-3e1KFVMbvnoAQcSZYjABnKL8R6ADYAj4LjOc7m6ZXImls6vgOOv9M7Ht68N-8KAXoEO0NDnk3-1jXKVnqjdzlE7m6m_Jw2AlwPwjXwAdg8sIYTo7W70rCOxzsoz7aUwCZzobAS8aAvYkSSNDeTJ80DfvbaRAA4p-WxUlYBvR67A4a_k2V3a5TOVnw31PHEgq3I-emGTitxyOJy_h0dICDm2jSYdx7ZVBPBitJUEmz9NE0oZYdcXK3-eJNtuwkkCWKf6xPMI6Ul1OanyWSw9WzrWiUL2VUt523V1Q4tbPy31JDmbuORKMUb5gm01T0vViHqZuSh0jxQ5rWhXVdhQWiq5CM6nlgmKCjsGnMpNaFMa874lAxQ6hF32bct5XRgxSROyrRDzSICYHOb7hH-Z9jUAp0aHGE6GqKPJXnxU1FeoX49LA_WVpLUG5fxG8jZIdCTvlijn_-9ei92b_h8L63jbp3J2G-CYVDw_L3fvfsg5Ao55qAA45rl-BwAA__8gZezs">