# Copyright 2021 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Platform baseline.
# This tracks the minimum hardware requirements for Fuchsia on AArch64.
config("arm64") {
  cflags = [
    "-march=armv8-a+simd+crc+crypto",
    "-mtune=generic",
  ]
  ldflags = cflags
  asmflags = cflags

  # For supported target features see:
  # rustc --target=aarch64-fuchsia --print target-features
  # `armv8a` and `simd` features are assumed by the target triple
  # `aarch64-fuchsia`.
  rustflags = [ "-Ctarget-feature=+crc,+aes,+sha2" ]
}

config("cortex-a53") {
  cflags = [ "-mcpu=cortex-a53" ]
  ldflags = cflags
  asmflags = cflags

  # TODO(fxbug.dev/87243): consider the below.
  #rustflags = [ "-Ctarget-cpu=cortex-a53" ]

  rustflags = [ "-Ctarget-feature=+crc,+aes,+sha2,+neon" ]

  # The CPU doesn't support the new atomics, so don't pay conditionalization
  # overhead at runtime.
  configs = [ ":no-outline-atomics" ]
}

# The compiler default for aarch64 targets uses outcalls to compiler-rt
# (libgcc) functions that can do runtime switching between old and new atomic
# insns.  This needs to be disabled when the standard runtime is not available.
config("no-outline-atomics") {
  cflags = [ "-mno-outline-atomics" ]
}
