On Tue, 12 May 2026 07:24:43 GMT, Galder ZamarreƱo <[email protected]> wrote:
>> Hi, >> >> This PR implements addition and subtraction of 128-bit integers in C2. This >> may have numerous applications: >> >> - It helps intrinsification of operations on 128-bit integers when we have >> one. >> - It allows computation that may be incorrect at `long` due to overflow, >> such as loop predication of long range checks. >> >> By implementing this separately, we don't need to worry about finalizing a >> public API, and we can have a better testing coverage. >> >> Testing: >> >> - [x] tier1-4,hs-comp-stress >> >> Please take a look and leave your review, thanks a lot. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > src/hotspot/share/opto/macro.cpp line 2502: > >> 2500: >> 2501: bool is_add = addsub->Opcode() == Op_AddI128T; >> 2502: Node* new_lo; > > If `addsub->result_lo_or_null() == null` and `addsub->result_hi_or_null() == > null`, seems like `new_lo` would be created unnecessarily. Is this likely to > happen? If so looks maybe it could be coded in a more efficient way? Hi @galderz , thanks for your comment. If both projections are `nullptr` then the node should be dead and removed by IGVN. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/31008#discussion_r3224791362
