# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

sw_otbn_sources += {
  'barrett384': files(
    'barrett384.s',
  ),
  'loop': files(
    'loop.s',
  ),
  'mul256': files(
    'mul256.s',
  ),
  'mul384': files(
    'mul384.s',
  ),
  'pseudo-ops': files(
    'pseudo-ops.s',
  ),
  'solinas384': files(
    'solinas384.s',
  ),
  'err_test': files(
    'err_test.s',
  ),
  'randomness': files(
    'randomness.s',
  ),
}
