blob: db22ffa50686b28638c3ae89ef6ed7125bd651d9 [file] [log] [blame]
Ben Vanikd5a9b1b2023-03-06 12:06:27 -08001// RUN: iree-compile --compile-to=input %s | FileCheck %s --check-prefix=INPUT-PHASE
Ben Vanik045bca12024-02-15 15:53:12 -08002// INPUT-PHASE: util.func public @abs(%[[ARG0:.+]]: tensor<f32>)
Ben Vanik7efcd0a2022-11-29 09:21:01 -08003// INPUT-PHASE: math.absf %[[ARG0]] : tensor<f32>
4
Ben Vanikd5a9b1b2023-03-06 12:06:27 -08005// RUN: iree-compile --compile-to=abi %s | FileCheck %s --check-prefix=ABI-PHASE
Ben Vanik045bca12024-02-15 15:53:12 -08006// ABI-PHASE: util.func public @abs(%[[ARG0:.+]]: !hal.buffer_view)
Ben Vanikac9d6d52023-12-03 20:20:31 -08007// ABI-PHASE: %[[INPUT:.+]] = hal.tensor.import %[[ARG0]] "input0" : !hal.buffer_view -> tensor<f32>
Ben Vanik7efcd0a2022-11-29 09:21:01 -08008// ABI-PHASE: math.absf %[[INPUT]] : tensor<f32>
9
Ben Vanik866c0c02024-05-28 22:30:19 -070010// RUN: iree-compile --compile-to=flow %s --iree-hal-target-device=local --iree-hal-local-target-device-backends=vmvx | FileCheck %s --check-prefix=FLOW-PHASE
Ben Vanik7efcd0a2022-11-29 09:21:01 -080011// FLOW-PHASE: flow.executable.export public @abs_dispatch_0
12// FLOW-PHASE: flow.dispatch @abs_dispatch_0
13
Ben Vanik866c0c02024-05-28 22:30:19 -070014// RUN: iree-compile --compile-to=flow %s | FileCheck %s --check-prefix=FLOW-PHASE-NO-DEVICE
15// FLOW-PHASE-NO-DEVICE: flow.executable.export public @abs_dispatch_0
16// FLOW-PHASE-NO-DEVICE: flow.dispatch @abs_dispatch_0
17
18// RUN: iree-compile --compile-to=stream --iree-hal-target-device=local --iree-hal-local-target-device-backends=vmvx %s | FileCheck %s --check-prefix=STREAM-PHASE
Ben Vanik7efcd0a2022-11-29 09:21:01 -080019// STREAM-PHASE: stream.executable.export public @abs_dispatch_0
20// STREAM-PHASE: stream.cmd.dispatch @abs_dispatch_0
21
Ben Vanik866c0c02024-05-28 22:30:19 -070022// RUN: iree-compile --compile-to=stream %s | FileCheck %s --check-prefix=STREAM-PHASE-NO-DEVICE
23// STREAM-PHASE-NO-DEVICE: stream.executable.export public @abs_dispatch_0
24// STREAM-PHASE-NO-DEVICE: stream.cmd.dispatch @abs_dispatch_0
25
26// RUN: iree-compile --compile-to=executable-sources --iree-hal-target-device=local --iree-hal-local-target-device-backends=vmvx %s | FileCheck %s --check-prefix=EXECUTABLE-SOURCES-PHASE
Ben Vanikd5a9b1b2023-03-06 12:06:27 -080027// EXECUTABLE-SOURCES-PHASE: hal.executable private @abs_dispatch_0
28// EXECUTABLE-SOURCES-PHASE: hal.executable.variant
29// EXECUTABLE-SOURCES-PHASE: linalg.generic
30// EXECUTABLE-SOURCES-PHASE: math.absf
31
Ben Vanik866c0c02024-05-28 22:30:19 -070032// RUN: iree-compile --compile-to=executable-targets --iree-hal-target-device=local --iree-hal-local-target-device-backends=vmvx %s | FileCheck %s --check-prefix=EXECUTABLE-TARGETS-PHASE
Ben Vanikd5a9b1b2023-03-06 12:06:27 -080033// EXECUTABLE-TARGETS-PHASE: hal.executable private @abs_dispatch_0
34// EXECUTABLE-TARGETS-PHASE: hal.executable.variant
35// EXECUTABLE-TARGETS-PHASE: vm.abs.f32
36
Ben Vanik866c0c02024-05-28 22:30:19 -070037// RUN: iree-compile --compile-to=hal --iree-hal-target-device=local --iree-hal-local-target-device-backends=vmvx %s | FileCheck %s --check-prefix=HAL-PHASE
Ben Vanik7efcd0a2022-11-29 09:21:01 -080038// HAL-PHASE: hal.executable private @abs_dispatch_0
39// HAL-PHASE: hal.executable.binary
40// HAL-PHASE: hal.command_buffer.dispatch
41
Ben Vanik866c0c02024-05-28 22:30:19 -070042// RUN: iree-compile --compile-to=vm --iree-hal-target-device=local --iree-hal-local-target-device-backends=vmvx %s | FileCheck %s --check-prefix=VM-PHASE
Ben Vanik7efcd0a2022-11-29 09:21:01 -080043// VM-PHASE: vm.rodata private @abs_dispatch_0
Ben Vanike2a2b2b2024-08-22 11:56:59 -070044// VM-PHASE: vm.call.variadic @hal.command_buffer.dispatch
Ben Vanik7efcd0a2022-11-29 09:21:01 -080045
Ben Vanik866c0c02024-05-28 22:30:19 -070046// RUN: iree-compile --output-format=vm-asm --compile-to=end --iree-hal-target-device=local --iree-hal-local-target-device-backends=vmvx %s | FileCheck %s --check-prefix=END-PHASE
47// RUN: iree-compile --output-format=vm-asm --iree-hal-target-device=local --iree-hal-local-target-device-backends=vmvx %s | FileCheck %s --check-prefix=END-PHASE
Ben Vanik7efcd0a2022-11-29 09:21:01 -080048// END-PHASE: vm.rodata private @abs_dispatch_0
Ben Vanike2a2b2b2024-08-22 11:56:59 -070049// END-PHASE: vm.call.variadic @hal.command_buffer.dispatch
Ben Vanik7efcd0a2022-11-29 09:21:01 -080050
51func.func @abs(%input : tensor<f32>) -> (tensor<f32>) {
52 %result = math.absf %input : tensor<f32>
53 return %result : tensor<f32>
54}