<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>257842</bug_id>
          
          <creation_ts>2023-06-07 18:44:19 -0700</creation_ts>
          <short_desc>B3 Select instruction truncates vector operands</short_desc>
          <delta_ts>2023-06-08 15:32:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebAssembly</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Degazio">d_degazio</reporter>
          <assigned_to name="David Degazio">d_degazio</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1960479</commentid>
    <comment_count>0</comment_count>
    <who name="David Degazio">d_degazio</who>
    <bug_when>2023-06-07 18:44:19 -0700</bug_when>
    <thetext>rdar://108643371

B3 Select lowers to Air using one of several conditional moves, like MoveConditionally64 or MoveDoubleConditionallyFloat. These in turn generate native conditional move instructions, such as fcsel to select between floating-point registers on ARM. However, we don&apos;t implement conditional moves for vectors, so when we compile a WASM select instruction with vector operands, B3 ends up treating them like doubles, which ends up zeroing the upper half of the vector register.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1960575</commentid>
    <comment_count>1</comment_count>
    <who name="David Degazio">d_degazio</who>
    <bug_when>2023-06-08 10:51:20 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/14778</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1960633</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-06-08 15:32:21 -0700</bug_when>
    <thetext>Committed 264996@main (c4e675b3afdd): &lt;https://commits.webkit.org/264996@main&gt;

Reviewed commits have been landed. Closing PR #14778 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>