Skip to content

Commit 957d82f

Browse files
committed
adding f32 codegen test to autodiff
Signed-off-by: Karan Janthe <karanjanthe@gmail.com>
1 parent c6a9554 commit 957d82f

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

tests/codegen/autodiff/f32.rs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
//@ compile-flags: -Zautodiff=Enable -Zautodiff=NoPostopt -C opt-level=3 -Clto=fat -g
2+
//@ no-prefer-dynamic
3+
//@ needs-enzyme
4+
#![feature(autodiff)]
5+
6+
use std::autodiff::autodiff_reverse;
7+
8+
#[autodiff_reverse(d_square, Duplicated, Active)]
9+
#[no_mangle]
10+
fn callee(x: &f32) -> f32 {
11+
*x * *x
12+
}
13+
14+
fn main() {
15+
let x: f32 = 7.0;
16+
let mut df_dx: f32 = 0.0;
17+
d_square(&x, &mut df_dx, 1.0);
18+
}
19+
20+
// CHECK: define float @callee(ptr align 4 {{.*}}) {{.*}} !dbg {
21+
// CHECK-NEXT: start:
22+
// CHECK: #dbg_value
23+
// CHECK: load float
24+
// CHECK: fmul float
25+
// CHECK: ret float
26+
27+
// CHECK: define void @_ZN9f32_debug8d_square{{.*}}(ptr align 4 {{.*}}, ptr align 4 {{.*}}, float {{.*}}) {{.*}} {
28+
// CHECK: call {{.*}} @diffecallee
29+
// CHECK: ret void
30+
31+
// CHECK: define {{.*}} @diffecallee(ptr {{.*}} align 4 {{.*}}, ptr {{.*}} align 4 {{.*}}, float {{.*}}) {{.*}} {
32+
// CHECK: load float
33+
// CHECK: fmul float
34+
// CHECK: store float
35+
// CHECK: ret {{.*}}

0 commit comments

Comments
 (0)