text: Title: Inconsistent support of log2
  Body: <!--
  
  Thanks for opening an issue! To help the Numba team handle your information
  efficiently, please first ensure that there is no other issue present that
  already describes the issue you have
  (search at https://github.com/numba/numba/issues?&q=is%3Aissue).
  
  -->
  
  ## Reporting a bug
  
  The cpu platform supports `np.log2` but not `math.log2`. The gpu platform supports `math.log2` but not `np.log2`. This makes it impossible to maintain library routines using log2 that are called on both platforms.
  
  <!--
  
  Before submitting a bug report please ensure that you can check off these boxes:
  
  -->
  
  - [x] I have tried using the latest released version of Numba (most recent is
    visible in the release notes
    (https://numba.readthedocs.io/en/stable/release-notes-overview.html).
  - [x] I have included a self contained code sample to reproduce the problem.
    i.e. it's possible to run as 'python bug.py'.
  
  <!--
  
  Please include details of the bug here, including, if applicable, what you
  expected to happen!
  
  -->
  ```py
  import math
  import sys
  
  import numba as nb  # type: ignore
  import numpy as np
  from numba import cuda  # type: ignore
  from numpy import typing as npt  # type: ignore
  
  
  @cuda.jit
  def log2_math_kernel(x: npt.NDArray[np.float64]) -> None:
      if cuda.grid(1) == 0:
          x[0] = math.log2(x[0])
  
  
  @cuda.jit
  def log2_np_kernel(x: npt.NDArray[np.float64]) -> None:
      if cuda.grid(1) == 0:
          x[0] = np.log2(x[0])
  
  
  @nb.njit
  def log2_math_cpu(x: float) -> float:
      return math.log2(x)
  
  
  @nb.njit
  def log2_np_cpu(x: float) -> float:
      return np.log2(x)
  
  
  x = np.ones(1, dtype=np.float64)
  if __name__ == "__main__":
      if sys.argv[1] == "gm":
          log2_math_kernel[1, 1](x)
      elif sys.argv[1] == "gn":
          log2_np_kernel[1, 1](x)
      elif sys.argv[1] == "cm":
          log2_math_cpu(x[0])
      elif sys.argv[1] == "cn":
          log2_np_cpu(x[0])
  ```
  When running, options "gm" and "cn" run, "gn" and "cm" do not compile.
  I am using 0.58.1 on python3.11.3, ubuntu focal.
  