return test__checkevent_breakpoint_rw(evlist);
 }
 
+static int test__checkevent_precise_max_modifier(struct perf_evlist *evlist)
+{
+       struct perf_evsel *evsel = perf_evlist__first(evlist);
+
+       TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries);
+       TEST_ASSERT_VAL("wrong type", PERF_TYPE_SOFTWARE == evsel->attr.type);
+       TEST_ASSERT_VAL("wrong config",
+                       PERF_COUNT_SW_TASK_CLOCK == evsel->attr.config);
+       return 0;
+}
+
 static int count_tracepoints(void)
 {
        struct dirent *events_ent;
                .check = test__checkevent_exclude_idle_modifier_1,
                .id    = 46,
        },
+       {
+               .name  = "task-clock:P,cycles",
+               .check = test__checkevent_precise_max_modifier,
+               .id    = 47,
+       },
 };
 
 static struct evlist_test test__events_pmu[] = {