The smart contract component for PuffPastry.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

61 lines
2.3 KiB

  1. ; ModuleID = 'probe1.cb05c354c6e25008-cgu.0'
  2. source_filename = "probe1.cb05c354c6e25008-cgu.0"
  3. target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
  4. target triple = "x86_64-unknown-linux-gnu"
  5. @alloc_f93507f8ba4b5780b14b2c2584609be0 = private unnamed_addr constant <{ [8 x i8] }> <{ [8 x i8] c"\00\00\00\00\00\00\F0?" }>, align 8
  6. @alloc_ef0a1f828f3393ef691f2705e817091c = private unnamed_addr constant <{ [8 x i8] }> <{ [8 x i8] c"\00\00\00\00\00\00\00@" }>, align 8
  7. ; core::f64::<impl f64>::total_cmp
  8. ; Function Attrs: inlinehint nonlazybind uwtable
  9. define internal i8 @"_ZN4core3f6421_$LT$impl$u20$f64$GT$9total_cmp17h50ee3d53f89d0d02E"(ptr align 8 %self, ptr align 8 %other) unnamed_addr #0 {
  10. start:
  11. %right = alloca [8 x i8], align 8
  12. %left = alloca [8 x i8], align 8
  13. %self1 = load double, ptr %self, align 8
  14. %_4 = bitcast double %self1 to i64
  15. store i64 %_4, ptr %left, align 8
  16. %self2 = load double, ptr %other, align 8
  17. %_7 = bitcast double %self2 to i64
  18. store i64 %_7, ptr %right, align 8
  19. %_13 = load i64, ptr %left, align 8
  20. %_12 = ashr i64 %_13, 63
  21. %_10 = lshr i64 %_12, 1
  22. %0 = load i64, ptr %left, align 8
  23. %1 = xor i64 %0, %_10
  24. store i64 %1, ptr %left, align 8
  25. %_18 = load i64, ptr %right, align 8
  26. %_17 = ashr i64 %_18, 63
  27. %_15 = lshr i64 %_17, 1
  28. %2 = load i64, ptr %right, align 8
  29. %3 = xor i64 %2, %_15
  30. store i64 %3, ptr %right, align 8
  31. %_21 = load i64, ptr %left, align 8
  32. %_22 = load i64, ptr %right, align 8
  33. %4 = icmp sgt i64 %_21, %_22
  34. %5 = zext i1 %4 to i8
  35. %6 = icmp slt i64 %_21, %_22
  36. %7 = zext i1 %6 to i8
  37. %_0 = sub nsw i8 %5, %7
  38. ret i8 %_0
  39. }
  40. ; probe1::probe
  41. ; Function Attrs: nonlazybind uwtable
  42. define void @_ZN6probe15probe17h179cd2e73a721f32E() unnamed_addr #1 {
  43. start:
  44. ; call core::f64::<impl f64>::total_cmp
  45. %_1 = call i8 @"_ZN4core3f6421_$LT$impl$u20$f64$GT$9total_cmp17h50ee3d53f89d0d02E"(ptr align 8 @alloc_f93507f8ba4b5780b14b2c2584609be0, ptr align 8 @alloc_ef0a1f828f3393ef691f2705e817091c)
  46. ret void
  47. }
  48. attributes #0 = { inlinehint nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" }
  49. attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" }
  50. !llvm.module.flags = !{!0, !1}
  51. !llvm.ident = !{!2}
  52. !0 = !{i32 8, !"PIC Level", i32 2}
  53. !1 = !{i32 2, !"RtLibUseGOT", i32 1}
  54. !2 = !{!"rustc version 1.81.0 (eeb90cda1 2024-09-04)"}