[all-commits] [llvm/llvm-project] cc6130: [X86] Remove shouldCastAtomicLoadInIR; use DAG com...

jofrn via All-commits all-commits at lists.llvm.org
Sun Jun 14 14:12:18 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cc613052fd6afe2e3522c18234e382588069441d
      https://github.com/llvm/llvm-project/commit/cc613052fd6afe2e3522c18234e382588069441d
  Author: jofrn <jo7frn1 at gmail.com>
  Date:   2026-06-14 (Sun, 14 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll

  Log Message:
  -----------
  [X86] Remove shouldCastAtomicLoadInIR; use DAG combine instead (#199520)

Remove X86's shouldCastAtomicLoadInIR override that cast FP atomic loads
to integer at the IR level. Instead, handle this in a pre-legalize DAG
combine (combineAtomicLoad) that rewrites FP/FP-vector atomic loads to
integer atomic loads plus a bitcast.

This and #199310, which adds the necessary cmpxchg support for
non-integer atomic loads in AtomicExpand, are a response to
https://github.com/llvm/llvm-project/pull/148899 for `atomic_vec4_float`
of `atomic-load-store.ll`.

Stacked above #201303.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list